Ajouter .00 (toFixed) seulement si le nombre a moins de deux décimales
J'ai besoin d'ajouter des zéros, de sorte que chaque nombre a au moins deux chiffres après la virgule, mais, sans arrondi. Ainsi, par exemple:
5 --> 5.00
5.1 --> 5.10
5.11 --> 5.11 (no change)
5.111 --> 5.111 (no change)
5.1111 --> 5.1111 (no change)
Ma fonction est de manquer une SI de vérifier pour moins de deux décimales:
function addZeroes( num ) {
var num = Number(num);
if ( //idk ) {
num = num.toFixed(2);
}
return num;
}
Merci!
De poster une alternative la réponse, en plus des deux ci-dessous. (Gardez à l'esprit que je ne suis pas un expert et c'est juste des entrées de texte, pas pour l'analyse des valeurs complexes comme les couleurs qui pourraient avoir à virgule flottante, etc.)
function addZeroes( value ) {
//set everything to at least two decimals; removs 3+ zero decimasl, keep non-zero decimals
var new_value = value*1; //removes trailing zeros
new_value = new_value+''; //casts it to string
pos = new_value.indexOf('.');
if (pos==-1) new_value = new_value + '.00';
else {
var integer = new_value.substring(0,pos);
var decimals = new_value.substring(pos+1);
while(decimals.length<2) decimals=decimals+'0';
new_value = integer+'.'+decimals;
}
return new_value;
}
[Ce n'est pas une double question. La question que vous avez lié assume "sachant qu'ils ont au moins 1 chiffre après la virgule." Les points décimaux ne peut être assumée dans le texte des entrées, et c'était de faire des erreurs.]
source d'informationauteur Jennifer Michelle
Vous devez vous connecter pour publier un commentaire.
Ici, vous allez:
Voir mise à jour de violon à des fins de démonstration.
http://jsfiddle.net/jhKuk/159/
Le code ci-dessous fournit un moyen de faire ce que vous voulez. Il en existe d'autres.
http://jsfiddle.net/nzK4n/
Voici une fonction qui va le faire, la fonction attend un nombre