Arrondir les nombres à 2 chiffres après la virgule
Je n'ai aucune idée de comment faire cela? Je suis en ajoutant une virgule des nombres, le résultat est bien sûr toujours un nombre avec beaucoup trop de chiffres après la virgule. quelqu'un?
- Pour certaines localités, les virgules sont remplacés par périodes.
- c'est une partie de la jParseFloat plugin, ça va être une partie de jQuery core à 1.5!
Vous devez vous connecter pour publier un commentaire.
EDIT 2:
Utiliser le
Number
de l'objettoFixed
méthode comme ceci:Il arrondit 42.0054321 à 42.01
Il des tours de 0,005 à 0,01
Il arrondit -0.005 à -0.01 (Donc la valeur absolue augmente sur l'arrondi à .5 frontière)
jsFiddle exemple
3.1415
devient3.00
dans votre exemple.Mise à JOUR: Gardez à l'esprit, à la fois la réponse a été initialement écrit en 2010, le soufflet de la fonction toFixed() a travaillé de manière légèrement différente. toFixed() semble faire quelques erreurs d'aujourd'hui, mais pas dans le sens purement mathématique manière. Soyez donc prudent avec elle. Faites vos tests... La méthode décrit ci-dessous fera l'arrondissement de bien, en tant que mathématicien pourrait s'attendre.
toFixed()
- méthode convertit un nombre en une chaîne de caractères, en gardant un nombre spécifié de décimales. Il ne fait pas arrondit un nombre, il tronque le nombre.Math.round(n)
- arrondit un nombre à l'entier le plus proche. Donc de se transformer:De 0,5 -> 1;
0.05 -> 0
donc, si vous voulez arrondir, disons nombre 0.55555, seulement à la deuxième décimale; vous pouvez faire ce qui suit(c'est l'étape-par-étape du concept):
0.55555 * 100
= 55.555Math.Round(55.555)
-> 56.00056.000 /100
= 0.56000(0.56000).toFixed(2)
-> 0.56et c'est le code:
Cela a fonctionné pour moi:
Exemple:
0.6666.toFixed(3)
devient0.666
au lieu de0.667
. @Andrei semble avoir la bonne solution pour arrondir correctement.toFixed()
fonctionne parfaitement:0.6666.toFixed(3) # => 0.667
. Je vais l'ajouter à votre réponse.Réponses précédentes oublié de type de la sortie comme un certain Nombre de nouveau. Il y a plusieurs façons de le faire, selon vos goûts.
Ce n'est pas vraiment CPU sympathique, mais :
fonctionne comme prévu.
Si nous avons beaucoup de réponses ici, avec beaucoup de suggestions utiles, chacun d'eux encore manque de certaines étapes.
Voici donc une complète solution enveloppée dans de la petite fonction:
Juste au cas où vous êtes intéressé comment cela fonctionne:
après la virgule
toFixed(2)
pour garder 2 chiffres aprèsvirgule et jeter les autres inutiles partie
parseFloat()
fonctiontoFixed(2)
renvoie la chaîne de caractères à la placeRemarque: Si vous gardez les 2 derniers chiffres après la virgule parce que de travailler avec des valeurs monétaires, et faire des calculs financiers gardez à l'esprit que c'est pas une bonne idée et vous feriez mieux d'utiliser des valeurs entières à la place.
utiliser le code ci-dessous.
J'utilise ceci:
JS: