Bonjour,
je souhaite formater un nombre décimal (2 chiffres apres la virgule).
Je ne veux pas arrondir, donc pas de Math.round *100 /100.
et si j'essaie d'utiliser la methode .toFixed(n), il me dit
merciCode:Erreur : .toFixed is not a function
Version imprimable
Bonjour,
je souhaite formater un nombre décimal (2 chiffres apres la virgule).
Je ne veux pas arrondir, donc pas de Math.round *100 /100.
et si j'essaie d'utiliser la methode .toFixed(n), il me dit
merciCode:Erreur : .toFixed is not a function
Pourtant toFixed(2) fonctionne très bien chez moi.
A quel type de valeur tu essaies de mettre cette fonction ?
ben c'est pour un champ <input type="text" ..>
Je charge une valeur grâce à la fonction :
dans mon tab_cat[1][2], j'ai une valeur texte.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function filltheselect(liste, valeur) { var nb; for(var i=0; i < tab_cat.length; i++) { if (tab_cat[i][0] == valeur) { switch (liste) { case "reference": document.getElementById('designation').value = tab_cat[i][0]; document.getElementById('prix').value = tab_cat[i][2].tofixed; break; case "designation": document.getElementById('reference').value = tab_cat[i][0]; nb=tab_cat[i][2]; document.getElementById('prix').value = nb.tofixed(2) break; } } } }
Peut etre faut-il que je la convertisse en nombre ??
Dans le premier case, j'utilise la fonction "tofixed" directement sur le tableau.
dans le second, j'ai réaffecté au cas où....
mais c'est KO
toFixed et non tofixed ...
j'ai mal saisi dans le POST mais j'avais bien saisi toFixed
j'ai trouvé un truc !
en effet, il aimait pas que ce soit du texte.
je multiplie par 1, il croit que c'est un nombre et la fonction marche !!
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function filltheselect(liste, valeur) { var nb; for(var i=0; i < tab_cat.length; i++) { if (tab_cat[i][0] == valeur) { switch (liste) { case "reference": document.getElementById('designation').value = tab_cat[i][0]; nb=tab_cat[i][2]*1; document.getElementById('prix').value = nb.toFixed; alert("ici"); break; case "designation": document.getElementById('reference').value = tab_cat[i][0]; nb=tab_cat[i][2]*1; document.getElementById('prix').value = arrondir(nb); break; } } }
quoique le multiplication par 1 peut causer des problèmes de virgule flottante ...
un Number ou un parseFloat eût été de bon alloi ...
OK merci.
Je vais regarder comment on les utilise