Voici une fonction JS simple pour ajouter des virgules à un nombre entier au format chaîne. Elle gère les nombres entiers ou décimaux. Vous pouvez lui passer soit un nombre, soit une chaîne. Elle renvoie évidemment une chaîne de caractères.
function addCommas(str) {
var parts = (str + "").split("."),
main = parts[0],
len = main.length,
output = "",
first = main.charAt(0),
i;
if (first === '-') {
main = main.slice(1);
len = main.length;
} else {
first = "";
}
i = len - 1;
while(i >= 0) {
output = main.charAt(i) + output;
if ((len - i) % 3 === 0 && i > 0) {
output = "," + output;
}
--i;
}
// put sign back
output = first + output;
// put decimal part back
if (parts.length > 1) {
output += "." + parts[1];
}
return output;
}
Voici un ensemble de cas de test : http://jsfiddle.net/jfriend00/6y57j/
Vous pouvez le voir utilisé dans ce jsFiddle précédent : http://jsfiddle.net/jfriend00/sMnjT/ . Vous pouvez également trouver des fonctions qui gèrent les nombres décimaux en effectuant une simple recherche Google sur "javascript add commas".
La conversion d'un nombre en chaîne de caractères peut se faire de plusieurs façons. La plus simple consiste à l'ajouter à une chaîne de caractères :
var myNumber = 3;
var myStr = "" + myNumber; // "3"
Dans le contexte de votre jsFiddle, vous obtiendrez des virgules dans le compteur en modifiant cette ligne :
jTarget.text(current);
à ça :
jTarget.text(addCommas(current));
Vous pouvez le voir fonctionner ici : http://jsfiddle.net/jfriend00/CbjSX/
0 votes
Vous devriez probablement jeter un coup d'œil au plugin JQuery NUMBERFORMATTER : Formateur de nombres Jquery Et cette question : Une façon plus simple de formater les chiffres en Javascript
1 votes
@Darhuuk, et 32,6 millions d'entre eux sont terribles...
1 votes
stackoverflow.com/questions/8449580/