Hi,
Avec une chaîne comme celle ci "1456789.21" je souhaiterais avoir ça "1 456 789.21". Existe-t-il une fonction pour faire cette opération ou à faire à la main ?
Merci
Version imprimable
Hi,
Avec une chaîne comme celle ci "1456789.21" je souhaiterais avoir ça "1 456 789.21". Existe-t-il une fonction pour faire cette opération ou à faire à la main ?
Merci
En utilisant une variable de type Number c'est plus simple :
Sinon :Code:
1
2 var nb = 1456789.21; alert(nb.toLocaleString())
Code:
1
2 var nb = "1456789.21"; alert((+nb).toLocaleString())
Super merci, oui en Number c'est plus simple mais la obligé de passer pas une chaine :(
En tout cas merci :D
a condition que le format local soit le bon avec un separateur de millers espace et un separateur de décimales .
De retour :)
Il n'y à pas moyen de mettre un "0" après le 2 ?Code:
1
2 var nb = "1456789.2"; alert((+nb).toLocaleString())
toFixed(), toPrecision() ?
Voila l'exemple
Mais mon .90 se transforme en ,9 au lieu de ,90 (ce qui est normal...) mais je vois pas de solution :( sauf passer par du code mais je voudrais vraiment utiliser des fonctions JS histoire d'avoir un code propreCode:
1
2
3
4
5
6
7
8
9 var ch1=new Number(""); var ch2=new Number("1000.1"); var ch3=new Number("2.8"); var ch4=new Number("4"); var tot=ch1+ch2+ch3+ch4; tot = tot.toFixed(2) document.write(tot+"<br>"); // => 1006.90 document.write((+tot).toLocaleString()); // => 1 006,9
Ben oui mais là tu mélanges pas mal de choses...
Tu nous disais que tu devais prendre des chaines en paramètre mais là tu utilises des chiffres, donc le préfixe "+" sert juste à supprimer le 0 final que tu viens de rajouter avec .toFixed(2) ! :aie:
Code:
1
2
3
4 var nb1 = 123.4, nb2 = '123.4'; alert(nb1.toFixed(2).toLocaleString()); alert((+nb2).toFixed(2).toLocaleString());
Oui pardon :ccool:
Mais par contre je perds mon super formatage :cry:
Code:
1
2
3 var tot=1000.20; document.write(tot.toFixed(2).toLocaleString()); // => 1000.20 au lieu de 1 000,20