Une pensée m'a frappé alors que j'écrivais un morceau de code JavaScript qui traitait certaines valeurs à virgule flottante. Quel est le symbole du point décimal en JavaScript ? Est-il toujours .
? Ou est-ce spécifique à une culture ? Et qu'en est-il .toFixed()
y .parseFloat()
? Si je traite une entrée utilisateur, il est probable qu'elle contienne le symbole du séparateur décimal propre à la culture locale.
En fin de compte, j'aimerais écrire un code qui prend en charge les deux points décimaux dans la saisie de l'utilisateur - spécifique à une culture et .
mais je ne peux pas écrire un tel code si je ne sais pas ce que JavaScript attend.
Ajouté : OK, Rubens Farias suggère à regarder question similaire qui a une réponse claire et acceptée :
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
C'est bien, ça me permet d'avoir le point décimal de la locale. Un pas vers la solution, sans doute.
Maintenant, la partie restante serait de déterminer quel est le comportement de .parseFloat()
est. Plusieurs réponses soulignent que pour les littéraux en virgule flottante, seuls les éléments suivants peuvent être utilisés .
est valable. Est-ce que .parseFloat()
agissent de la même manière ? Ou bien le séparateur décimal local est-il nécessaire dans certains navigateurs ? Existe-t-il également des méthodes différentes pour analyser les nombres à virgule flottante ? Devrais-je mettre en place ma propre méthode pour être sûr ?