Java中的BigDecimal
值的小數點後的最大位數是多少?使用BigDecimal小數點後的最大位數
回答
它幾乎是無限的。如果將scale設置爲整數的最大值,則可以在小數點後面存儲大約20億位數字,但如果嘗試這樣做,則可能會用完內存。如果您需要存儲如此多的數字以至於極限成爲問題,那麼您可能需要重新考慮程序的設計。
不可變的,任意精度的有符號十進制數。 BigDecimal由任意精度整數非標定值和32位整數標度組成。如果爲零或正數,則標度是小數點右側的位數。如果是負數,則該數字的非縮放值乘以10乘以該比例否定的冪。由BigDecimal表示的數字的值因此是(非標度值×10 -scale)。
根據什麼是在BigDecimal Java 2 Platform Standard Ed. 5.0提到:
不可變的,任意精度的有符號 十進制數。 BigDecimal由 組成,任意精度整數 非縮放值和32位整數 比例。如果爲零或正數,則比例尺 是小數點右邊 的位數。如果爲負值,則 的非縮放值的數量爲 乘以10,否定該比例的 的冪。 的值由 BigDecimal表示的數字因此是(非標度值 ×10 ^( - 標度))。
根據Java's implementation of 32-bit integers:
INT:int數據類型是一個32位 符號的二進制補碼整數。其 具有最小值-2,147,483,648, 和最大值2,147,483,647, (含)。對於整數值,除非有理由(如上面的 )選擇其他內容,否則此 數據類型通常是默認的 選項。 這種數據類型最有可能是 ,對於您的 程序將使用的數字來說足夠大,但是如果您需要更大範圍的值,請改爲使用長 。
這意味着對於零或正數比例的數字,您在小數點右邊有2,147,483,647個數字。 對於負比例數字,您將unscaledValue移位到小數點右邊2,147,483,648位。
- 1. BigDecimal與最小的2個小數位
- 2. JAVA:劃分2個大小數並保留小數點後的最大位數
- 3. BigDecimal - 材料小數位數
- 4. 格式浮點數最小和最大小數位數
- 5. 高效BigDecimal舍入到小數點後兩位
- 6. Java格式帶逗號和2位小數點的BigDecimal數字
- 7. 如何將小數點後兩位到小數點後n位?
- 8. 顯示小數點後最多顯示3位數的數字
- 9. Sql Server小數點(30,10)丟失最後2位小數
- 10. REACT - 防止小數點後2位小數點後的輸入
- 11. 渲染小數點後三位小數
- 12. R中的最大小數位數
- 13. 將小數點後兩位數舍入到3位小數點,但在小數點後三位消失0
- 14. NSString - 浮點數的最大1位小數
- 15. 可以除去小數點前的BigDecimal
- 16. 小時的時差與小數點後兩位小數點差
- 17. 將小數點後兩位的浮點數與小數點後六位的浮點數相除
- 18. 格式小數用小數點後儘可能少的位數
- 19. Math.Floor小數點後面的x位數
- 20. 限制小數點後的位數
- 21. 獲取大數的最後13位數
- 22. 小數點後第十位到最近的第10位
- 23. Wolfram Alpha等服務如何使用小數點後的位數?
- 24. 如何將此浮點數小數點後兩位小數?
- 25. 使用在Javascript與BigDecimal的Math.exp()大型浮點數
- 26. 如何使用EU小數點分隔符將BigDecimal解析爲文本,但最後沒有十進制數字?
- 27. BigDecimal上的循環小數爲小數
- 28. 以KB/MB爲單位的大小,僅最大。逗號後的2位數
- 29. 圓整數>小數點後兩位
- 30. 小數點後只有2位數字?