Math.round et arrondi

Résolu
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 - 27 avril 2006 à 11:45
cs_darkduck Messages postés 138 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 29 février 2008 - 10 déc. 2006 à 22:25
Hello ,
Je cherche une petite fonction qui me permet d'arrondir ma valeur à 1 ou n nombre décimaux après la virgule.
J'utilise la fonction "Math.round" qui me renvoi bien l'arrondi à l'unité près mais je souhaite aller un peu plus loin dans les décimaux.
J'ai vu sur un message l'utilisation de "toFixed" mais cela me génère une erreur.
Si une ame charitable veut bienme venir en aide je suis preneur .

Voici le bout de code :

alert (Math.round(data.value.toFixed(2)));

avec bien sur "data" dans le bon type de donnée.
Si quelqu'un sait comment utiliser ce "toFixed" ..... ????

ChaPaTa
A voir également:

8 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 avril 2006 à 12:01
bonjour

<script type="text/javascript">
   alert (Number(data.value).toFixed(2));
</script>

mais FF va râler si on ne met pas document.name du formulaire.data.value....






Cordialement.      Bul.   Site/FONT>
3
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
27 avril 2006 à 11:56
Bonjour




1/ Math.round retourne un entier ... donc oublie-le
2/ Ton problème vient de ton data. Je suis curieux de voir comment tu l'as définit.

Cordialement
Roro webDev
0
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
27 avril 2006 à 12:01
ok, mon data je le récupère dans une boucle :

data = document.getElementsByName('tx_ok')[i].value

donc ce n'est pas la bonne méthode pour le round.

Sinon j'ai utilisé, des substring et substr pour découper et concaténer mon chiffre à la décimal voulu mais, cela ne me l'arrondi pas.

ChaPaTa
0
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
27 avril 2006 à 12:07
Alors, là je dis BRAVO ! et MERCI !
c'est exactement ce que je cherchai !

je vais mettre le nom du doc et du l'imput pour faire plaisir à FF (que je ne connais pas ... encore) !!! ;-p

ChaPaTa
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
27 avril 2006 à 12:11
Bonjour




Je préconise :


<script type="text/javascript">
   alert (document.getElementById("data").value.toFixed(2));
</script>

parceque :

1/ FF ne ralera pas (après tout IE est loin d'être LE navigateur de référence)
2/ je n'ai pas besoin d'employer un formulaire (c'est fait pour renvoyer des données vers un serveur, un formulaire, non ?)






Cordialement
Roro webDev
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 avril 2006 à 12:14
l'explication : toFixed bosse sur du numérique
un .value c'est une chaîne de caractères. ( d'autres moyens que Number... )
et roro06 avait bien entendu raison avec Math.round</strike>


Cordialement      Bul.   
Site
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 avril 2006 à 12:22
à ror06 : après tout IE est loin d'être LE navigateur de référence

je n'ai pas dit ça ? si ??? ( quoique... avec le % d'utilisation parmi
les internautes, on pourrait le dire.... )

j'ai signalé que, tel que c'était fait, FF n'aimerai pas !
d'ailleurs tu propose d'utiliser getElementById !

où as-tu vu un quelconque critique de FF ? pas mon genre !
je ne suis pas sectaire ( contrairement à de nombreux anti IE ),
je suis beaucoup trop petit, à un trop faible niveau... pour oser
critiquer un navigateur  quel qu'il soit !!!!

      Bul.   Site
0
cs_darkduck Messages postés 138 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 29 février 2008 1
10 déc. 2006 à 22:25
Salut,

Il y a aussi cette petite astuce :

<script type="text/javascript">
alert(Math.round(124.56879 * 100) / 100);
</script>
0
Rejoignez-nous