मैं बिगडेसिमल के साथ एक साधारण गुणा कर रहा हूं और शून्य से गुणा करते समय मुझे कुछ अजीब व्यवहार मिल गया है (इस उपयोग-मामले में शून्य से गुणा करना सही है)।बिगडेसिमल शून्य से गुणा
बुनियादी गणित मुझे उस कुछ भी शून्य से गुणा शून्य के बराबर होगा बताता है (देखें: Zero Product Property और Multiplication Properties)
हालांकि, निम्नलिखित कोड लगातार एक ही त्रुटि के साथ विफल हो जाएगा:
assertEquals(new BigDecimal(0), new BigDecimal(22.3).multiply(new BigDecimal(0)));
java.lang.AssertionError: Expected :0 Actual :0E-48
क्या यह बिगडिसीमल के साथ एक गलत है या क्या गणित की कुछ विशिष्ट शाखा है जिसे मैं कहीं याद कर रहा हूं?
नोट्स: JDK 1.6.0_27 इंटेलीजे 11
हाँ संख्यात्मक विश्लेषण और विशेष रूप से सन्निकटन और काट-छांट त्रुटि –
या 'double' में इस पर गौर आप 'assertEquals (0, 23.3 * 0, 0) लिख सकते हैं; '; –
और' BigDecimal.ZERO' में भी देखें। – EJP