je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des
"pouièmes".
J'utilise bien la fonction décrite dans les posts précédents sur les
arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997
du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens
28.40 au lieu de 28.41.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
YD
je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des "pouièmes". J'utilise bien la fonction décrite dans les posts précédents sur les arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9 * 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens 28.40 au lieu de 28.41.
Quelqu'un a une idée ?
Si tu calcules des remises, travaille en centimes et convertis en euros après, bref si tes quantités ne sont ni trop grandes ni trop petites, travaille avec des entiers le plus possible... Il n'y a pas àmha de contournement simple avec les flottants, cela tient à la représentation interne de ces nombres.
-- Y.D.
je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des
"pouièmes".
J'utilise bien la fonction décrite dans les posts précédents sur les
arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997
du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens
28.40 au lieu de 28.41.
Quelqu'un a une idée ?
Si tu calcules des remises, travaille en centimes et convertis en euros après,
bref si tes quantités ne sont ni trop grandes ni trop petites, travaille avec
des entiers le plus possible... Il n'y a pas àmha de contournement simple avec
les flottants, cela tient à la représentation interne de ces nombres.
je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des "pouièmes". J'utilise bien la fonction décrite dans les posts précédents sur les arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9 * 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens 28.40 au lieu de 28.41.
Quelqu'un a une idée ?
Si tu calcules des remises, travaille en centimes et convertis en euros après, bref si tes quantités ne sont ni trop grandes ni trop petites, travaille avec des entiers le plus possible... Il n'y a pas àmha de contournement simple avec les flottants, cela tient à la représentation interne de ces nombres.
-- Y.D.
Raphaël THERY
Quand tu dis il n'y a pas de contournement simple, cela signifie qu'ils en existent ;-) Car dans mon cas je ne peux absolument pas faire autrement...
Bon sinon en dernier recours j'utiliserai cette solution. Merci
"YD" a écrit dans le message de news:41bf2646$0$11901$
je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des "pouièmes". J'utilise bien la fonction décrite dans les posts précédents sur les arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens
28.40 au lieu de 28.41.
Quelqu'un a une idée ?
Si tu calcules des remises, travaille en centimes et convertis en euros après,
bref si tes quantités ne sont ni trop grandes ni trop petites, travaille avec
des entiers le plus possible... Il n'y a pas àmha de contournement simple avec
les flottants, cela tient à la représentation interne de ces nombres.
-- Y.D.
Quand tu dis il n'y a pas de contournement simple, cela signifie qu'ils en
existent ;-)
Car dans mon cas je ne peux absolument pas faire autrement...
Bon sinon en dernier recours j'utiliserai cette solution.
Merci
"YD" <yd-news@free.fr> a écrit dans le message de
news:41bf2646$0$11901$636a15ce@news.free.fr...
je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des
"pouièmes".
J'utilise bien la fonction décrite dans les posts précédents sur les
arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne
29.9
* 0.95 = 28.404999999999997
du coup lorsque je veux arrondir à deux chiffres après la virgule
j'obtiens
28.40 au lieu de 28.41.
Quelqu'un a une idée ?
Si tu calcules des remises, travaille en centimes et convertis en euros
après,
bref si tes quantités ne sont ni trop grandes ni trop petites, travaille
avec
des entiers le plus possible... Il n'y a pas àmha de contournement simple
avec
les flottants, cela tient à la représentation interne de ces nombres.
Quand tu dis il n'y a pas de contournement simple, cela signifie qu'ils en existent ;-) Car dans mon cas je ne peux absolument pas faire autrement...
Bon sinon en dernier recours j'utiliserai cette solution. Merci
"YD" a écrit dans le message de news:41bf2646$0$11901$
je n'arrive pas à arrondire mes numériques lorsqu'ils possèdent des "pouièmes". J'utilise bien la fonction décrite dans les posts précédents sur les arrondis ... qui fonctionne très bien à une exception prés.
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens
28.40 au lieu de 28.41.
Quelqu'un a une idée ?
Si tu calcules des remises, travaille en centimes et convertis en euros après,
bref si tes quantités ne sont ni trop grandes ni trop petites, travaille avec
des entiers le plus possible... Il n'y a pas àmha de contournement simple avec
les flottants, cela tient à la représentation interne de ces nombres.
-- Y.D.
ecm06
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens
Bon sinon en dernier recours j'utiliserai cette solution.
Merci
Je ne sais si sur le(s) site(s) du gouvernement il y a toujours le convertisseur euro/francs mais ils avaient résolu le pb (de manière assez alambiquée)
-- ******************************************************* Stéphane MORIAUX et son vieux Mac Aide Pages Perso (images & couleurs, formulaire, CHP) http://perso.wanadoo.fr/stephane.moriaux/internet/ *******************************************************
Bon sinon en dernier recours j'utiliserai cette solution.
Merci
Je ne sais si sur le(s) site(s) du gouvernement il y a toujours
le convertisseur euro/francs
mais ils avaient résolu le pb
(de manière assez alambiquée)
--
*******************************************************
Stéphane MORIAUX et son vieux Mac
Aide Pages Perso (images & couleurs, formulaire, CHP)
http://perso.wanadoo.fr/stephane.moriaux/internet/
*******************************************************
Bon sinon en dernier recours j'utiliserai cette solution.
Merci
Je ne sais si sur le(s) site(s) du gouvernement il y a toujours le convertisseur euro/francs mais ils avaient résolu le pb (de manière assez alambiquée)
-- ******************************************************* Stéphane MORIAUX et son vieux Mac Aide Pages Perso (images & couleurs, formulaire, CHP) http://perso.wanadoo.fr/stephane.moriaux/internet/ *******************************************************
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonjour !
cela tient à la représentation interne de ces nombres
Je dirais : "cela tient AU CHOIX de la représentation...". En effet, si l'on avait, en javascript, la possibilité d'utiliser le DCB (Décimal Codé Binaire ; BCD in english), qui est codé dans les processeurs, on n'aurait plus ce problème d'arrondis. Mais on ne pourrait pas gérer les notations exponentielles.
-- Michel Claveau
Bonjour !
cela tient à la représentation interne de ces nombres
Je dirais : "cela tient AU CHOIX de la représentation...". En effet, si l'on
avait, en javascript, la possibilité d'utiliser le DCB (Décimal Codé Binaire
; BCD in english), qui est codé dans les processeurs, on n'aurait plus ce
problème d'arrondis. Mais on ne pourrait pas gérer les notations
exponentielles.
cela tient à la représentation interne de ces nombres
Je dirais : "cela tient AU CHOIX de la représentation...". En effet, si l'on avait, en javascript, la possibilité d'utiliser le DCB (Décimal Codé Binaire ; BCD in english), qui est codé dans les processeurs, on n'aurait plus ce problème d'arrondis. Mais on ne pourrait pas gérer les notations exponentielles.
-- Michel Claveau
noone
Quand tu dis il n'y a pas de contournement simple, cela signifie qu'ils en existent ;-) Car dans mon cas je ne peux absolument pas faire autrement...
Bon sinon en dernier recours j'utiliserai cette solution. Merci
Bonjour,
Oui lib de calcul formel, ou lib de calcul en précision arbitraire PARI http://pari.math.u-bordeaux.fr/ GIAC http://www-fourier.ujf-grenoble.fr/~parisse/giac.html GMP http://www.swox.com/gmp/ NTL http://www.shoup.net/ntl/ ...
mais il faut interfacer ça avec JavaScipt... (???)
donc je ne peux pas t'aider (je développe à titre perso en C++)
en clair multiplie par 100.... fait tout calcul divise par 100 ensuite ;-) ça sera plus simple... sauf si tu n'as pas le choix
Cordialement
Quand tu dis il n'y a pas de contournement simple, cela signifie qu'ils en
existent ;-)
Car dans mon cas je ne peux absolument pas faire autrement...
Bon sinon en dernier recours j'utiliserai cette solution.
Merci
Bonjour,
Oui lib de calcul formel, ou lib de calcul en précision arbitraire
PARI http://pari.math.u-bordeaux.fr/
GIAC http://www-fourier.ujf-grenoble.fr/~parisse/giac.html
GMP http://www.swox.com/gmp/
NTL http://www.shoup.net/ntl/
...
mais il faut interfacer ça avec JavaScipt... (???)
donc je ne peux pas t'aider (je développe à titre perso en C++)
en clair multiplie par 100.... fait tout calcul divise par 100 ensuite
;-) ça sera plus simple... sauf si tu n'as pas le choix
Quand tu dis il n'y a pas de contournement simple, cela signifie qu'ils en existent ;-) Car dans mon cas je ne peux absolument pas faire autrement...
Bon sinon en dernier recours j'utiliserai cette solution. Merci
Bonjour,
Oui lib de calcul formel, ou lib de calcul en précision arbitraire PARI http://pari.math.u-bordeaux.fr/ GIAC http://www-fourier.ujf-grenoble.fr/~parisse/giac.html GMP http://www.swox.com/gmp/ NTL http://www.shoup.net/ntl/ ...
mais il faut interfacer ça avec JavaScipt... (???)
donc je ne peux pas t'aider (je développe à titre perso en C++)
en clair multiplie par 100.... fait tout calcul divise par 100 ensuite ;-) ça sera plus simple... sauf si tu n'as pas le choix
Cordialement
Raphaël THERY
Cela ne marche pas à tout les coups (je suis aussi tombé dans cette erreur). si ma valeur est 20.404612 arrondi directement à 2 cela me donne 20.40 ce qui est la bonne valeur. si j'arrondi à 3 puis à 2 j'obtiens sucessivement 20.405 puis 20.41.
Je vais faire ce qui est préconisé dans les autres posts, d'abord multiplier par 100. Merci à tous.
"ecm06" a écrit dans le message de news:41c00e5c$0$12709$
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens
Cela ne marche pas à tout les coups (je suis aussi tombé dans cette erreur).
si ma valeur est 20.404612
arrondi directement à 2 cela me donne 20.40 ce qui est la bonne valeur.
si j'arrondi à 3 puis à 2 j'obtiens sucessivement 20.405 puis 20.41.
Je vais faire ce qui est préconisé dans les autres posts, d'abord multiplier
par 100.
Merci à tous.
"ecm06" <ecm06@freeee.com> a écrit dans le message de
news:41c00e5c$0$12709$626a14ce@news.free.fr...
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne
29.9
* 0.95 = 28.404999999999997
du coup lorsque je veux arrondir à deux chiffres après la virgule
j'obtiens
Cela ne marche pas à tout les coups (je suis aussi tombé dans cette erreur). si ma valeur est 20.404612 arrondi directement à 2 cela me donne 20.40 ce qui est la bonne valeur. si j'arrondi à 3 puis à 2 j'obtiens sucessivement 20.405 puis 20.41.
Je vais faire ce qui est préconisé dans les autres posts, d'abord multiplier par 100. Merci à tous.
"ecm06" a écrit dans le message de news:41c00e5c$0$12709$
Sur une calculatrice, 29.9 * 0.95 = 28.405. En javascript cela me donne 29.9
* 0.95 = 28.404999999999997 du coup lorsque je veux arrondir à deux chiffres après la virgule j'obtiens