accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: round avec une certaine precision ?

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.ruby ] 

Retour : Accueil du site fr comp lang ruby  


  Sujet:   Re: round avec une certaine precision ?  
 De: f...@lacave.net (F. Senault)
 Groupes: fr.comp.lang.ruby
 Organisation: Grand maitre de la secte de l'Elephant Fuschia
 Date: 07. Nov 2007, 14:04:11
 References: 1 2
Le 06 novembre à 17:33, Eric Jacoboni a écrit :

> Immédiatement, je dirai :
> 
>>> format("%.2f", 1.5678).to_f
> => 1.57
>>> format("%.3f", 1.5678).to_f
> => 1.568
> 
> Mais j'avoue ne pas avoir exploré toutes les possibilités.

Oui... et non.

Attention au fait qu'on parle de cet animal mythique qu'est le float,
avec tous les problèmes de calcul en virgule flottante qu'on peut
imaginer.

Arrondir à deux décimales pour l'affichage, c'est bien.  Faire les
calculs avec les arrondis peut amener à des surprises :

>> 44.0 + (91.0 / 100.0) + 10.01
=> 54.92
>> 44.0 + (91.0 / 100.0) + 10.01 == 54.92
=> false
>> sprintf "%.16g", 44.0 + (91.0 / 100.0) + 10.01
=> "54.91999999999999"

Dans certaines applications sensibles - les cas classiques d'arrondis
sont dans des programmes qui ont une gestion monétaire - il est
conseillé de travailler soit en entiers et de diviser ensuite par 10^n
ou, en Ruby, de faire des classes spécialisées soi-même (exercice
amusant en soi, d'ailleurs... :) ).

Fred
-- 
I feel drunk but I'm sober, I'm young and I'm underpaid
I'm tired but I'm working, yeah
I care but I'm restless, I'm here but I'm really gone
I'm wrong and I'm sorry, baby     (Alanis Morissette, Hand in My Pocket)


DateSujet  Auteur
06.11.
* round avec une certa
LaP
06.11.
`* Re: round avec une certa
Eric Jacoboni
07.11.
 +- Re: round avec une certa
come
07.11.
 `*   Re: round avec une certa
F. Senault
07.11.
  +* Re: round avec une certa
Eric Jacoboni
08.11.
  |+- Re: round avec une certa
LaP
08.11.
  |`- Re: round avec une certa
F. Senault
22.11.
  `- Re: round avec une certa
Une Bév ue
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)