Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1883 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Décimales de variable Javascript à modifier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Décimales de variable Javascript à modifier

n°422846
rds
Posté le 10-06-2003 à 16:06:49  profilanswer
 

Bonjour tout le monde,
 
J'ai une variable en JS à 4 décimales et je voudrais la passer à 2 décimales.
 
ex : 123.4500 -> 123.45
 
Est-il possible de gérer les arrondis ?
 
Merci !!!
 
RDS

mood
Publicité
Posté le 10-06-2003 à 16:06:49  profilanswer
 

n°422862
walli
Posté le 10-06-2003 à 16:11:45  profilanswer
 

oui, c'est tout à fait possible !

n°422876
rds
Posté le 10-06-2003 à 16:17:09  profilanswer
 

walli a écrit :

oui, c'est tout à fait possible !


Tu as un lien ou ex de code ?
Merci !  :hello:

n°422891
walli
Posté le 10-06-2003 à 16:22:35  profilanswer
 

je te file un code utilisé dans un htc.
ca marchera pas forcememnt du premier coup.
a toi de le remettre à ta sauce !

Code :
  1. function formatte(val)
  2. {
  3. if (val.length == 0)
  4.  return "";
  5. var index = val.indexOf('.');
  6. if ( (index != -1) && ((val.substring(index+1)).length>2) )
  7. {
  8.  var indexSign = val.indexOf('-');
  9.  if (indexSign != -1)
  10.   val = parseFloat(val)-0.005;
  11.  else
  12.   val = parseFloat(val)+0.005;
  13. }
  14. val = String(val);
  15. index = val.indexOf('.');
  16. if ((index != -1) && (index == val.length-1))
  17.  val = val +"00";
  18. if ((index != -1) && (index == val.length-2))
  19.  val = val +"0";
  20. if (index == -1)
  21.  val = val +".00";
  22. index = val.indexOf('.');
  23. var partieEntiere;
  24. if (index == -1)
  25.  partieEntiere = val;
  26. else
  27.  partieEntiere = val.substring(0,index);
  28. var retour="";
  29. var i;
  30. var j=0;
  31. for (i=partieEntiere.length-1;i>=0;i--)
  32. {
  33.  j++;
  34.  retour = partieEntiere.charAt(i) + retour;
  35.  if ((j % 3 == 0) && (j!=0) && (i!=0))
  36.  {
  37.   retour = " " + retour;
  38.   j=0;
  39.  }
  40. }
  41. if (index != -1)
  42.  retour= retour+val.substring(index,index+3);
  43. if (retour=="-0.00" )
  44.  retour="0.00";
  45. return retour;
  46. }


Message édité par walli le 10-06-2003 à 16:23:15
n°422961
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-06-2003 à 17:18:40  profilanswer
 

Sinon tu as des fonctions toutes faites ( http://www.w3schools.com/js/js_math.asp ):
Math.round pour un vrai arrondi
Math.floor pour la partie entiere.
 
Et la je sens que tu vas me dire "Ouaaais mais je veux juste enlever les deux dernières décimales"... Bin tu multiplies par cent, tu arrondis et tu redivises par cent ;)

n°459824
rds
Posté le 17-07-2003 à 01:55:28  profilanswer
 

Anapajari a écrit :

Sinon tu as des fonctions toutes faites ( http://www.w3schools.com/js/js_math.asp ):
Math.round pour un vrai arrondi
Math.floor pour la partie entiere.
 
Et la je sens que tu vas me dire "Ouaaais mais je veux juste enlever les deux dernières décimales"... Bin tu multiplies par cent, tu arrondis et tu redivises par cent ;)  

HELP j'ai du mal a trouver une focntion toute faite ... je galere pas mal avec le JS  :cry:  :cry:

n°460015
anapajari
s/travail/glanding on hfr/gs;
Posté le 17-07-2003 à 11:00:48  profilanswer
 

boon c'est pas dur quand même avec un truc dans ce genre la tu dois t'en sortir

Code :
  1. function myArrondi ( nombre)
  2. {
  3.    nombre = Math.Round(nombre*100) / 100;
  4.    return nombre;
  5. }


 
Et si tu veux tu dois même pouvoir flamber un peu en rajoutant la précision dans ta fonction

Code :
  1. function myArrondi ( nombre, precision)
  2. {
  3.    var coef = Math.pow(10, precision);
  4.    nombre = Math.Round(nombre*coef) / coef;
  5.    return nombre;
  6. }


 
Warning: code non testé


Message édité par anapajari le 17-07-2003 à 11:01:12
n°460017
rds
Posté le 17-07-2003 à 11:02:43  profilanswer
 

Anapajari a écrit :

boon c'est pas dur quand même avec un truc dans ce genre la tu dois t'en sortir

Code :
  1. function myArrondi ( nombre)
  2. {
  3.    nombre = Math.Round(nombre*100) / 100;
  4.    return nombre;
  5. }


 
Et si tu veux tu dois même pouvoir flamber un peu en rajoutant la précision dans ta fonction

Code :
  1. function myArrondi ( nombre, precision)
  2. {
  3.    var coef = Math.pow(10, precision);
  4.    nombre = Math.Round(nombre*coef) / coef;
  5.    return nombre;
  6. }


 
Warning: code non testé

:hello:  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Décimales de variable Javascript à modifier

 

Sujets relatifs
Récupérer le html géneré par le javascript[c++ builder] Affecter une variable depuis un edit ?
comment faire prendre à une variable un entier en base 1000 [RESOLVI]Problème de création de variable
[JavaScript] Actualiser une page depuis une autre[JavaScript] un champ de texte non éditable
[Javascript] Savoir si qqch a été sélectionné dans un select multipleBug sous javascript
variable - chaine de caractère[PHP / JAVASCRIPT] Récupérer des variables d'environnement.
Plus de sujets relatifs à : Décimales de variable Javascript à modifier


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR