Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.javascript > #3065
| From | Olivier Miakinen <om+news@miakinen.net> |
|---|---|
| Newsgroups | fr.comp.lang.javascript |
| Subject | Re: Formatage de nombre |
| Date | 2016-08-22 16:05 +0200 |
| Organization | There's no cabale |
| Message-ID | <npf0rb$bpf$1@cabale.usenet-fr.net> (permalink) |
| References | <nocrhv$rgj$1@usenet.pasdenom.info> <57aa4592$0$7969$426a34cc@news.free.fr> <nodp6v$sj5$1@usenet.pasdenom.info> |
Bonjour, Le 10/08/2016 01:32, Gloops a écrit : > > Je m'étais figuré que 0.1 + 0.2 était la blague potache des créateurs de > Javascript, et que pour le reste ils allaient se tenir à carreau. Ce n'est pas une blague, c'est juste le prix à payer quand on utilise des nombres décimaux représentés sous forme binaire (représentation IEEE754 sur 64 bits dans le cas de JavaScript). 0.1 (décimal) = 0.00011001100110011001100110011001100110011001100110011010 (ieee754) 3 × 0.1 (décimal) = 0.00100110011001100110011001100110011001100110011001100111 (ieee754) = 0.30000000000000004 (décimal) 0.3 (décimal) = 0.00100110011001100110011001100110011001100110011001100110 (ieee754) Mais quand on a besoin de manipuler des nombres décimaux, c'est-à-dire où toutes les décimales à partir d'un certain rang sont nulles, la plupart du temps cela revient à manipuler des nombres entiers, quitte à les diviser par une puissance de 10 au moment de l'affichage. Par exemple, au lieu de calculer des sommes en euros avec deux chiffres après la virgule, il suffit de calculer ces mêmes sommes en centimes d'euros, sans virgule : 3,50 € = 350 centimes. En effet, il faut savoir que *tous* les nombres entiers compris entre -9007199254740992 et +9007199254740992 sont représentables dans IEEE754 64 bits (et donc dans JavaScript) sans aucune erreur d'arrondi. Cela devrait suffire pour la plupart des besoins... -- Olivier Miakinen
Back to fr.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
Formatage de nombre Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-09 17:06 +0200
Re: Formatage de nombre SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> - 2016-08-09 23:05 +0200
Re: Formatage de nombre Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-10 01:21 +0200
Re: Formatage de nombre Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-10 01:32 +0200
Re: Formatage de nombre Olivier Miakinen <om+news@miakinen.net> - 2016-08-22 16:05 +0200
Re: Formatage de nombre Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-22 20:16 +0200
Re: Formatage de nombre Olivier Miakinen <om+news@miakinen.net> - 2016-08-22 22:58 +0200
Re: Formatage de nombre Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-23 14:50 +0200
csiph-web