Benda Lukas napsal:
Bohuzel ve chvili kdyz musite pracovat s DB jineho programu ktery ma
castky ukladany jako float(8), tak na vyber nemate :((
Ovšemže na výběr máte.
Data jsou možná reprezentována nevhodně, ale Vy si tím nemusíte program
zasvinit více, než je nutné.
Při každém čtení z databáze si částky hned převeďte na BigDecimal se
scale=2 a dál počítejte s nimi.
Při ukládání do této databáze najděte nejbližší reprezentaci výsledku v
datovém typu float (dost možná to uspokojivě udělá JDBC driver).
Měl byste nějak prokazatelně informovat zákazníka, že jeho databáze
možná nebyla navržena s veškerou péčí, kterou by od informatika bylo
možno očekávat. (Říkám možná: pokud aplikační oblastí není "účetnictví",
ale "manažerské účetnictví" nebo skoro cokoli jiného, tak je rozumná
přesnost na prvních pár - nanejvýš 6 - platných míst, což typ float
splní.) Popište, jak tuto situaci ve svém programu řešíte, a upozorněte,
že výsledky by v některých případech mohly být jiné než očekávané, což
však nebude způsobeno Vaším programem. Pak jste podle mne v situaci, kdy
tu databázi nemáte ve své moci, udělal vše, co po Vás lze rozumně žádat.
Honza Dvořák
- Re: Numericke operace na typem Double Jan Dvořák
-