我想将一些 double 值格式化为特定位数,忽略起始零。
例如,假设格式为 6 位数字:
131.468627436358 -> 131.469
3.16227766016838 -> 3.16228
0.66018099039325 -> 0.660181
0.02236067977499 -> 0.0223607
最佳答案
BigDecimal 允许正确处理有效数字。这:
MathContext round3SigFig = new MathContext(3,RoundingMode.HALF_UP);
System.out.println((new BigDecimal(0.000923874932)).round(round3SigFig));
产生:
0.000924
显然,通过任意精度对象表示传递浮点并不理想。
关于Java 格式 double 到特定位数忽略零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271629/