🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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 ...
#152839
Author: sielim
Date: Fri, 02 Sep 2011 16:51
6 lines
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 ...
#152840
Author: Jacek Czerwinski
Date: Fri, 02 Sep 2011 16:52
9 lines
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 ...
#152841
Author: sielim
Date: Fri, 02 Sep 2011 16:55
13 lines
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 ...
#152842
Author: sielim
Date: Fri, 02 Sep 2011 17:02
25 lines
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 ...
#152843
Author: Boguś
Date: Fri, 02 Sep 2011 19:25
14 lines
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 ...
#152844
Author: sielim
Date: Mon, 05 Sep 2011 07:10
17 lines
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 ...
#152845
Author: William Bonawentura
Date: Wed, 07 Sep 2011 12:02
14 lines
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