Formatage nombre

ikswobel - 12 nov. 2001 à 13:23
cs_Pacco Messages postés 1 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 4 janvier 2002 - 4 janv. 2002 à 11:01
Hello,
comment fait-on pour formatter un nombre (2 chiffres après la virgule) en JavaScript ?

exemple :
1.39999 -> 1.40

merci :big)

1 réponse

cs_Pacco Messages postés 1 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 4 janvier 2002
4 janv. 2002 à 11:01
Bonjour,

Il existe plusieurs possibilités,

Une des plus pratique consiste à utiliser la fonction split(chaine,"."), ce qui crée un tableau de 2 éléments de type chaine, l'un avec les chiffres avant le point et un autre avec ceux après le point.

Sur ce dernier il faut utiliser la fonction charAt(3) pour aller chercher le troisième caractère, utiliser ParseInt() (pour ce dernier il faut préciser que la base est décimale sinon le huit n'est pas pris en compte car la base par défaut est octale). En fonction de la valeur de celui-ci par rapport à 5 alimenter une variable booléenne.

Faire un substring() pour récupérer les deux premiers caractères, faire un parseInt et en fonction de la valeur du booléen soit ajouter 1 soit laisser tel quel et transmettre le résultat dans element2'.

Enfin il faut reconstruire la chaine en ajoutant
element1 + "." + element2'

Et voila.

Voici un script à tester:

function formatNb(nombre)
{
nombre = String(nombre);
var car3;
var conserv;
var elements = nombre.split(".");
if (elements[1].length>2)
{
car3 = elements[1].charAt(2);
if (parseInt(car3,10)>=5)
{
conserv = elements[1].substring(0,2);
conserv = parseInt(conserv,10) + 1;
}
else
{
conserv = elements[1].substring(0,2);
}
nombre = elements[0] + "." + conserv;
return parseFloat(nombre,10);
} else {
return parseFloat(nombre,10);
}
}

En espérant vous être utile
0
Rejoignez-nous