-3
如何在java中設置特定的精度以進一步計算?例如,如果我需要進行高達11個精度的計算;我如何設置它?爲計算設置Java精度
如何在java中設置特定的精度以進一步計算?例如,如果我需要進行高達11個精度的計算;我如何設置它?爲計算設置Java精度
你不要「在java中設置了一個特定的精度用於進一步計算」。
你要做的是選擇一種數字格式,它支持你需要的精度,並使用該格式進行計算。 double
具有大約15位有效數字的精度,如果您需要更多(即小數點右側11個位置,無論大小如何),那麼您必須使用BigDecimal
,其中精度僅受可用存儲器限制。然後你截斷到輸出所需的精度。
請注意,BigDecimal
要求您在操作結果爲重複小數(即1/3
)時指定精度,以避免嘗試創建無限長的重複小數。您可以通過向divide()
方法提供RoundingMode
或MathContext
來完成此操作。
請注意,MathContext
有點接近您的請求,因爲它封裝了精確和舍入模式。然而,它並不適用於將來的計算,它必須在每次計算時提供,它將控制。
使用'BigDecimal'具有無限精度。 – ifly6
如果使用'BigDecimal',則可以控制所有計算的精度。不像@ ifly6在說什麼,它實際上並不是無限的(沒有無限的記憶)。 – Andreas