我想要应用格式(后3位和后4位四舍五入),使用下面的代码 -DecimalFormat的工作不正常
double a = 1231254125412512.231515235346;
NumberFormat formatter = new DecimalFormat("#,###");
formatter.setRoundingMode(RoundingMode.HALF_UP);
formatter.setMinimumFractionDigits(4);
formatter.setMaximumFractionDigits(4);
System.out.println("Number : " + formatter.format(a));
上面的代码是对数-54125412512.231515235346
(结果正常工作是-54,125,412,512.2315
)。
但它不适用于数字-1231254125412512.231515235346
(结果-1,231,254,125,412,512.2000
)。
是变量'a' float还是double? – sidgate
其双双a = 1231254125412512.231515235346; – malviyarahuljayendra
由于Double具有53位的精度。所以它的最大值是17位数。 1231254125412512.231515235346〜1231254125412512.2(17位数字) – ThiepLV