Java中DecimalFormat遇到的问题

一、DecimalFormat的格式化功能

//double scale = 0.80; //"使用#.00"时,0.80会显示.80,有误.
double scale = 35610037.1f;
DecimalFormat  decimalFormat = new  DecimalFormat("#,##0.00");    
String string = decimalFormat.format(scale);       
System.out.println(string);

结果输出:

35,610,036.00

将35610037.1f结尾的"f"去掉后,重新运行:

double  scale = 35610037.1;
DecimalFormat decimalFormat = new  DecimalFormat("#,##0.00");    
String string = decimalFormat.format(scale);       
System.out.println(string);

结果输出:

35,610,037.10

由此可见,只有double类型的精度才能正确输出格式化结果。

你可能感兴趣的:(Java中DecimalFormat遇到的问题)