Maison  >  Article  >  interface Web  >  Ajustez le format décimal pour conserver deux décimales : compétences Javascript

Ajustez le format décimal pour conserver deux décimales : compétences Javascript

WBOY
WBOYoriginal
2016-05-16 16:48:161509parcourir

Au cours du processus de développement, nous rencontrons souvent le besoin d'ajuster le format des décimales, comme conserver deux décimales, etc. La méthode est également assez courante, le mémo est le suivant.

La première méthode consiste à utiliser math.round

var original=28.453
1) //arrondir "original" à deux décimales
var result=Math.round(original * 100)/100 ; //renvoie 28,45
2) // arrondit "original" à 1 décimale
var result=Math.round(original*10)/10; //renvoie 28,5

Deuxièmement, js1.5 et supérieur peuvent utiliser toFixed(x), qui peut spécifier le nombre à intercepter x chiffres après la virgule décimale

3) //arrondir "original" à deux décimales
var result =original.toFixed( 2); //renvoie 28,45

4) // arrondit "original" à 1 décimale
var result=original.toFixed(1); //renvoie 28,5

Les deux éléments ci-dessus La méthode est la plus générale, mais elle ne peut pas répondre à certaines exigences particulières, telles que la conservation de deux décimales. Si elle est inférieure à deux décimales, des zéros seront ajoutés si elle est inférieure à deux décimales. Il existe à ce stade une troisième méthode.

Le troisième type est la fonction de conversion. Ce code provient d'un forum étranger.

Copier le code Le code est le suivant :

fonction roundNumber(nombre, décimales) {
var newString;// Le nouveau nombre arrondi
decimals = Number(decimals);
if (decimals < 1) {
newString = (Math.round(number)).toString();
} else {
var numString = number.toString();
if (numString.lastIndexOf(".") == -1) {// S'il n'y a pas de point décimal
numString = "." ;// donnez-lui un à la fin
}
var cutoff = numString.lastIndexOf(".") decimals;// Le point auquel tronquer le nombre
var d1 = Number( numString.substring (cutoff,cutoff 1));// La valeur de la dernière décimale avec laquelle on se retrouvera
var d2 = Number(numString.substring(cutoff 1,cutoff 2));// Le prochaine décimale, après la dernière que nous voulons
if (d2 >= 5) {// Devons-nous arrondir à l'unité supérieure ? Sinon, la chaîne sera simplement tronquée
if (d1 == 9 && cutoff > ; 0) {// Si le dernier chiffre est 9, trouvez un nouveau seuil
while (cutoff > 0 && (d1 == 9 || isNaN(d1))) {
if ( d1 != ".") {
cutoff -= 1;
d1 = Number(numString.substring(cutoff,cutoff 1));
} else {
cutoff -= 1; >}
}
}
d1 = 1;
}
if (d1 == 10) {
numString = numString.substring(0, numString.lastIndexOf("." ));
var arrondiNum = Number(numString) 1;
newString = arrondiNum.toString() '.';
} else {
newString = numString.substring(0,cutoff) d1. toString() ;
}
}
if (newString.lastIndexOf(".") == -1) {// Recommencez, avec la nouvelle chaîne
newString = ".";
}
var decs = (newString.substring(newString.lastIndexOf(".") 1)).length
for(var i=0;i//var newNumber = Number(newString);// faites-en un nombre si vous aimez
document.roundform.roundedfield.value = newString; // Affiche le résultat dans le champ du formulaire (change pour vos objectifs)
}

5) //arrondissez "original" à deux décimales
var result=original.toFixed(2) //renvoie 28,45

6) // arrondit "original" à 1 décimale
var result=original.toFixed(1); //renvoie 28,5

var original=28,4
var result=original.toFixed(2) ; // renvoie 28,40
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn