Bonjour,
Je viens de remarquer un truc : en BigDecimal quand on fait 2.65 - 2.65 ça fait... null!!
Vous imaginez le souk que ça peut me mettre dans mon application...
je ne vois nulle part référence à ceproblème sur Internet.
Merci.
Version imprimable
Bonjour,
Je viens de remarquer un truc : en BigDecimal quand on fait 2.65 - 2.65 ça fait... null!!
Vous imaginez le souk que ça peut me mettre dans mon application...
je ne vois nulle part référence à ceproblème sur Internet.
Merci.
Ca marche chez moi. Quelle version de ta JRE ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12 public class TestBigDecimal { public static void main(final String[] args) { BigDecimal a = new BigDecimal(2.65); BigDecimal b = new BigDecimal(2.65); System.out.println(a + "-" + b + "=" + a.subtract(b)); a = new BigDecimal("2.65"); b = new BigDecimal("2.65"); System.out.println(a + "-" + b + "=" + a.subtract(b)); } }
Je suis en 1.5
Quand j'exécute ce que tu dis, je vois bien 2.65-2.65=0.00 mais je suis encore en train d'essayer de comprendre ce qui ne va pas car
BigDecimal c = a.subtract(b);
si je fais un watch, j'ai bien 0.00
mais si je fais un watch de a.subtract(b), j'ai null... 8O
Je dirais que "a" est null
Ceci dit je préfère me fier à la console ou la vue debug que la vue expression.
J'ai souvent un affichage douteux voir pas d'affichage du tout (Lors du debug de Tomcat)
Laissez tomber; j'ai été mis dans une fausse piste par la fenêtre de watch mais en fait mon problème se situait après.
Reste néanmoins cette situation bizarre plus imputable à Eclipse qu'à BigDecimal en fait...
http://img4.hostingpics.net/pics/520...alsubtract.jpg
l'expression "a.substract(b)" est une image à un instant et ne sera probablement pas réévaluer. Même si Eclipse utilise sûrement la méthode toString pour afficher la valeur. La valeur a sûrement été calculée après la construction de l'arbre des membres.