设置 Java 计算精度
Set Java Precision For Calculations
我们如何在 java 中设置特定精度以进行进一步计算?例如,如果我需要进行高达 11 精度的计算;如何设置?
你没有"set a specific precision in java for further calculations".
您要做的是选择一种支持所需精度的数字格式,并使用该格式执行计算。 double
具有大约 15 位有效数字的精度,如果您需要更多(即小数点右侧 11 位,无论大小),那么您必须使用 BigDecimal
,其中精度仅受限于有效内存。然后截断到输出所需的精度。
请注意,BigDecimal
要求您在运算结果可以是循环小数(即 1/3
)时指定精度,以避免尝试创建无限长的循环小数。您可以通过向 divide()
方法提供 RoundingMode
或 MathContext
来做到这一点。
请注意,MathContext
有点接近您的要求,因为它封装了精度和舍入模式。然而,它并不全局适用于未来的计算,它必须在它要控制的每个计算中提供。
我们如何在 java 中设置特定精度以进行进一步计算?例如,如果我需要进行高达 11 精度的计算;如何设置?
你没有"set a specific precision in java for further calculations".
您要做的是选择一种支持所需精度的数字格式,并使用该格式执行计算。 double
具有大约 15 位有效数字的精度,如果您需要更多(即小数点右侧 11 位,无论大小),那么您必须使用 BigDecimal
,其中精度仅受限于有效内存。然后截断到输出所需的精度。
请注意,BigDecimal
要求您在运算结果可以是循环小数(即 1/3
)时指定精度,以避免尝试创建无限长的循环小数。您可以通过向 divide()
方法提供 RoundingMode
或 MathContext
来做到这一点。
请注意,MathContext
有点接近您的要求,因为它封装了精度和舍入模式。然而,它并不全局适用于未来的计算,它必须在它要控制的每个计算中提供。