Thread View: pl.comp.lang.java
7 messages
7 total messages
Started by sielim
Fri, 02 Sep 2011 16:51
Zagadka monetarna dla javovców ...
Author: sielim
Date: Fri, 02 Sep 2011 16:51
Date: Fri, 02 Sep 2011 16:51
6 lines
1249 bytes
1249 bytes
Weźmy na stół taką kwotę: 2 grosze. W zapisie dziesiętnym 0.02. Ale czasem wychodzi z tego 2.0E-2. Jakie nieprzyjemne ryzyko widzi tu Javowiec ? :) Mi właśnie to 'ryzyko' rozwaliło serwer na produkcji i trza było szybko wypuszczać poprawkę ...
Re: Zagadka monetarna dla javovców ...
Author: Jacek Czerwinski
Date: Fri, 02 Sep 2011 16:52
Date: Fri, 02 Sep 2011 16:52
9 lines
1242 bytes
1242 bytes
W dniu 2011-09-02 18:51, sielim pisze: > Weźmy na stół taką kwotę: 2 grosze. > W zapisie dziesiętnym 0.02. Ale czasem > wychodzi z tego 2.0E-2. > Jakie nieprzyjemne ryzyko widzi tu Javowiec ? :) > Mi właśnie to 'ryzyko' rozwaliło serwer na produkcji > i trza było szybko wypuszczać poprawkę ... Nie powiem kto w zmiennym przecinku liczy pieniądze ...
Re: Zagadka monetarna dla javovców ...
Author: sielim
Date: Fri, 02 Sep 2011 16:55
Date: Fri, 02 Sep 2011 16:55
13 lines
1629 bytes
1629 bytes
Użytkownik "Jacek Czerwinski" <x@y.z.pl> napisał w wiadomości news:j3r1kk$jth$1@news.onet.pl... >W dniu 2011-09-02 18:51, sielim pisze: >> Weźmy na stół taką kwotę: 2 grosze. >> W zapisie dziesiętnym 0.02. Ale czasem >> wychodzi z tego 2.0E-2. >> Jakie nieprzyjemne ryzyko widzi tu Javowiec ? :) >> Mi właśnie to 'ryzyko' rozwaliło serwer na produkcji >> i trza było szybko wypuszczać poprawkę ... > > Nie powiem kto w zmiennym przecinku liczy pieniądze ... Liczy w BigDecimalach - te się da zmusić do niezmiennego :)
Re: Zagadka monetarna dla javovców ...
Author: sielim
Date: Fri, 02 Sep 2011 17:02
Date: Fri, 02 Sep 2011 17:02
25 lines
1950 bytes
1950 bytes
Użytkownik "sielim" <sielim_tnij_to@to.tez.wp.pl> napisał w wiadomości
news:4e610a7c$0$2447$65785112@news.neostrada.pl...
>
> Użytkownik "Jacek Czerwinski" <x@y.z.pl> napisał w wiadomości
> news:j3r1kk$jth$1@news.onet.pl...
>>W dniu 2011-09-02 18:51, sielim pisze:
>>> Weźmy na stół taką kwotę: 2 grosze.
>>> W zapisie dziesiętnym 0.02. Ale czasem
>>> wychodzi z tego 2.0E-2.
>>> Jakie nieprzyjemne ryzyko widzi tu Javowiec ? :)
>>> Mi właśnie to 'ryzyko' rozwaliło serwer na produkcji
>>> i trza było szybko wypuszczać poprawkę ...
>>
>> Nie powiem kto w zmiennym przecinku liczy pieniądze ...
> Liczy w BigDecimalach - te się da zmusić do niezmiennego :)
... ale podpowiem:
Czym się różni:
new BigDecimal("0.02")
od
new BigDecimal("2.0E-2")
? :)
Re: Zagadka monetarna dla javovców ...
Author: Boguś
Date: Fri, 02 Sep 2011 19:25
Date: Fri, 02 Sep 2011 19:25
14 lines
1112 bytes
1112 bytes
Dnia 02-09-2011 o 19:02:39 sielim <sielim_tnij_to@to.tez.wp.pl> napisał(a):
> Czym się różni:
>
> new BigDecimal("0.02")
> od
> new BigDecimal("2.0E-2")
>
> ? :)
Precyzją i skalą
--
Boguś
Re: Zagadka monetarna dla javovców ...
Author: sielim
Date: Mon, 05 Sep 2011 07:10
Date: Mon, 05 Sep 2011 07:10
17 lines
2144 bytes
2144 bytes
Użytkownik "Boguś" <noone@invalid.net> napisał w wiadomości
news:op.v06372nrm9t1qg@blackstar...
Dnia 02-09-2011 o 19:02:39 sielim <sielim_tnij_to@to.tez.wp.pl> napisał(a):
>> new BigDecimal("0.02")
>> od
>> new BigDecimal("2.0E-2")
> Precyzją i skalą
Ta jest, drugie dostaje Scale = 3 (czyli 0.020)
Nieuważnie użyta funkcja bazodanowa generowała XML'a w taki sposób, że
liczby < 10 groszy zapsywała w postaci jw, a walidator czytajacy tego
XML'a potem rzucał wyjątek - nie dopuszczał scale >2.
Perfidnie wyszło, bo tylko na tych kilku groszach się sypie i nikt tego nie
zauważył. Liczby większe niż 9 gr. już mają co najwyżej E-1 i problemu
nie ma.
Re: Zagadka monetarna dla javovców ...
Author: William Bonawentura
Date: Wed, 07 Sep 2011 12:02
Date: Wed, 07 Sep 2011 12:02
14 lines
1504 bytes
1504 bytes
Użytkownik "sielim" napisał w wiadomości grup
dyskusyjnych:4e6475f7$0$2448$65785112@news.neostrada.pl...
>> new BigDecimal("2.0E-2")
> Precyzją i skalą
> Ta jest, drugie dostaje Scale = 3 (czyli 0.020)
IMHO poprawnie.
2.0 przesuwamy przecinek o dwa miejsca:
0.20
0.020
spróbuj new BigDecimal("2E-2")
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads