यह BigDecimal
. को इनिशियलाइज़ करने का नतीजा है double
. से :
System.out.println(String.format("%21.20f", new BigDecimal(0.493));
// Prints 0,49299999999999999378
तो, जब BigDecimal
इस तरह से प्रारंभ किया गया डेटाबेस में सहेजा जाता है, यह एक गलत मान उत्पन्न करता है, जिसे बाद में सही ढंग से लोड किया जाता है।
अगर BigDecimal
स्ट्रिंग द्वारा प्रारंभ किया गया है या यदि मान सीधे जावा में सेट किया गया है तो सब कुछ ठीक काम करता है।