Title: RE: arithm�tique double

Salut !

> -----Message d'origine-----
> De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>
> En java,
> .1*.1=0.010000000000000002
> Ce qui dans le cas qui m'int�resse me gonfle quelque peu ...

T'inqui�te-pas, t'es pas tout seul...

> Y'a moyen d'avoir un r�sultat un peu moins arbitraire

Ca d�pend, c'est pour quoi faire ?

1 - Tu pourrais utiliser la classes BigDecimal.
Cela te permettra d'arrondir ton r�sultat mais, de toute fa�on,
en m�moire, 0.01 �a passe pas.
Tu peux aussi l'utiliser pour avoir une valeur plus proche :

double a = 0.1;
print( a * a );
==> 0.010000000000000002 // Pas bon

java.math.BigDecimal b = new java.math.BigDecimal( 0.1 );

print( b.multiply( b ).toString() );
==> 0.01000000000000000111022302462515657123851077828659396139564708135883709660962637144621112383902072906494140625 // Moins pas bon mais pas beaucoup plus mieux

2 - Tu peux essayer de dire � java d'arr�ter de se prendre pour du C.

Olivier

> (id�alement 0.01) ?
>

Répondre à