先看如下代码:
// targetSdkVersion 28
NumberFormat format = new DecimalFormat("#0");
BigDecimal bigDecimal = new BigDecimal("0.001");
String result = format.format(bigDecimal);
System.out.println(result); // 0.
我们期望的结果是0
,但实际输出结果为0.
,后面无端多了一个.
但同样的代码我们放到jdk1.8.0_211
环境下执行,输出0
,结果正常。
以上代码我们在格式化时传入的对象为BigDecimal
,接下来我们直接传入一个数字进行格式化:
NumberFormat format = new DecimalFormat("#0");
String result = format.format(0.001);
System.out.println(result); // 0
经测试,输出0
,结果正常。
网友评论