web-dev-qa-db-fra.com

JavaScript Number.toLocaleString () avec 4 chiffres après le séparateur

Existe-t-il un moyen d'obtenir number.toLocaleString() avec 4 chiffres après la virgule?

Exemple:

var number = 49.9712;
document.getElementById('id').innerText = number.toLocaleString();

Résultat: 49,9712

Mais maintenant, il retourne toujours un nombre à 2 chiffres après une virgule: 49,97

40
Artem

Vous pouvez utiliser deuxième argument pour fournir certaines options. Dans votre cas, avec les paramètres régionaux par défaut:

number.toLocaleString(undefined, { minimumFractionDigits: 4 })
82
Radagast

Je l'ai trouvé

var number = 49.9712;
number.toLocaleString( { minimumFractionDigits: 4 })

a donné le résultat de "49.971"

Afin d'obtenir réellement les 4 chiffres de la décimale, j'ai fait ceci:

number.toLocaleString(undefined, { minimumFractionDigits: 4 })

Remplir également un code de pays a fonctionné:

number.toLocaleString('en-US', { minimumFractionDigits: 4 })

Dans les deux cas, j'ai obtenu 49,9712 pour la réponse.

5
rainslg

Vous ne pouvez pas faire cela avec toLocaleString() seul. Mais vous pouvez arrondir à 4 décimales avant d'afficher:

var n = Math.round(number * 10000) / 10000;
document.getElementById('id').innerText = n.toLocaleString();
1
Christophe

Si vous devez utiliser les paramètres régionaux, je ne pense pas que vous serez en mesure de spécifier que vous avez besoin de 4 décimales, mais vous pouvez évidemment le faire en utilisant d'autres méthodes de prototype, telles que toFixed() .

Voici un exemple:

var number = 12.3456
number.toFixed(4)
0
Charlie Schliesser