Ce chapitre explique comment obtenir l'effet de conserver deux décimales pour les nombres. Si le nombre a moins de deux décimales d'origine, les chiffres manquants seront automatiquement remplis de zéros. regardez d'abord l'exemple de code :
function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ value=value.toString()+".00"; return value; } if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; } } var num=3.1; console.log(returnFloat(num));
Le code ci-dessus répond à nos exigences. Voici une introduction à son processus de mise en œuvre.
1. Commentaires du code :
1.function returnFloat(value){}, le paramètre est le nombre à convertir.
2.var value=Math.round(parseFloat(value)*100)/100, cela devrait être le cœur de la fonction, parseFloat(value) convertit le paramètre en un nombre à virgule flottante, car le paramètre peut être un chaîne, La raison de la multiplication par 100 est de conserver deux décimales. Déplacez d'abord la virgule décimale de deux chiffres vers la droite, puis utilisez la méthode Math.round() pour effectuer des calculs d'arrondi, et enfin divisez par 100. De cette façon, deux décimales sont conservées. Cela a également un effet d'arrondi, mais ce n'est pas parfait si le nombre de décimales dans le numéro du paramètre lui-même est supérieur ou égal à 2, c'est ok, comme 3,1415, mais il y a quand même. pas d'implémentation parfaite telle que 3 ou 3.0. Continuez à voir ci-dessous.
3.var xsd=value.toString().split("."), utilisez la valeur point "." pour le séparer en un tableau.
4.if(xsd.length==1){value=value.toString() ".00";return value;}, si la longueur du tableau est 1, c'est-à-dire qu'il n'y a pas de décimale , alors ce sera en ajoutant deux zéros à ce nombre, par exemple, 3 sera converti en 3,00.
5.
if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; }
if(xsd.length>1) est utilisé pour déterminer si la longueur du nombre est supérieure à 1, c'est-à-dire si le nombre a une décimale S'il y a une décimale, mais que le nombre de chiffres décimaux est inférieur. que 2, qui est similaire à 3.1, il sera en ajoutant un 0 après l'avoir converti en 3.10.
2. Tutoriels d'apprentissage associés :
1.Math.round() se trouve dans le chapitre Méthode Math.round() de Javascript .
2. La fonction parseFloat() se trouve dans le chapitre sur la méthode javascript parseFloat().
3. Pour la fonction toString(), veuillez vous référer au chapitre La méthode toString() de l'objet Number en JavaScript .
4. La fonction split() se trouve dans le chapitre La méthode split() de l'objet String de JavaScript.