एक BigDecimal
दो मूल्यों द्वारा परिभाषित किया गया है। BigDecimal
का मान माना गया है।
प्रेसिजन:
precision बगैर माप मूल्य में अंकों की संख्या है। उदाहरण के लिए, संख्या 123.45 के लिए, सटीक लौटे 5.
तो, परिशुद्धता मनमाना परिशुद्धता पूर्णांक की लंबाई इंगित करता है। यहाँ एक ही पैमाने के साथ संख्या के कुछ उदाहरण है, लेकिन विभिन्न परिशुद्धता हैं:
- 12345/100000 = 0,12345 // पैमाने = 5, सटीक = 5
- 12340/100000 = 0,1234 // पैमाने = 5, परिशुद्धता = 4
- 1/100000 = 0,00001 // पैमाने = 5, सटीक = 1
विशेष मामला है कि संख्या शून्य (यानी 0.000) के बराबर है में, परिशुद्धता हमेशा 1 है।
स्केल:
शून्य या सकारात्मक हैं, तो scale दशमलव बिंदु के दाईं ओर अंकों की संख्या है। यदि ऋणात्मक है, तो संख्या के असुरक्षित मूल्य को स्केल की अस्वीकृति की शक्ति से दस गुणा किया जाता है। उदाहरण के लिए, -3 के पैमाने का मतलब बगैर माप का मूल्य इसका मतलब है कि 'BigDecimal' का पूर्णांक मान से गुणा किया जाता द्वारा 1000.
गुणा किया जाता है।
यहां विभिन्न तराजू, एक ही परिशुद्धता के कुछ उदाहरण हैं: पैमाने = 5 के साथ
- 12345 0,12345
- पैमाने के साथ 12345 4 = 1,2345
- ...
- 12345 पैमाने 0 के साथ = 12345
- पैमाने -1 = 123,450 †
साथ
BigDecimal.toString:
toString
विधि एक BigDecimal
के लिए अलग तरह से पैमाने पर और precision
के आधार पर व्यवहार करता है। (इस ओर इशारा करते हुए के लिए @RudyVelthuis के लिए धन्यवाद।)
- तो
scale == 0
, पूर्णांक सिर्फ बाहर छपा है, के रूप में-है।
- हैं
scale < 0
, ई संकेतन हमेशा प्रयोग किया जाता है (उदाहरण के लिए 5 पैमाने -1 का उत्पादन "5E + 1")
- तो
scale >= 0
और precision - scale -1 >= -6
एक सादे दशमलव संख्या का उत्पादन किया है (उदाहरण के लिए 10000000 पैमाने 1 पैदा करता है "१०,००,०००.०")
- अन्यथा, ई-नोटेशन का उपयोग किया जाता है, उदाहरण के लिए 10 स्केल 8 "1.0E-7" उत्पन्न करता है क्योंकि
precision - scale -1
के बराबर -6 से कम है।
अधिक उदाहरण:
- 19/100 = 0,19 // पूर्णांक = 19, पैमाने = 2, सटीक = 2
- 1/1000 = 0,0001 // पूर्णांक = 1, पैमाने = 4, सटीक = 1
स्रोत
2016-02-16 15:47:20
प्रश्न 'java.math.bigDecimal' के साथ बिल्कुल कुछ भी नहीं मिला है। '@ javax.persistence.Column' जावा एसई का हिस्सा नहीं है। यह जेपीए का विषय है। – Tiny
प्रेसिजन और स्केल शब्द अक्सर java.math.bigDecimal के लिए उपयोग किए जाते हैं, जो कि वह गणना के लिए उपयोग करता है, उदाहरण के लिए जेपीए के साथ। आईएसटीएम वह जानना चाहता है कि बिगडेसिमल के संदर्भ में उनका क्या मतलब है। –