在java中截断Float值最多两个小数点

时间:2017-02-15 21:58:39

标签: java floating-point precision

DecimalFormat hisFormat = new DecimalFormat("########.##");
hisFormat.setRoundingMode(RoundingMode.DOWN);

Float x=12345678.12345f;
System.out.println("Float Value " + hisFormat.format(x));

以上代码打印“Float Value”为12345678 我需要12345678.12

我如何获得结果?请告诉我。

1 个答案:

答案 0 :(得分:1)

使用Double以外的Float,否则您将失去精确度

DecimalFormat hisFormat = new DecimalFormat("######.##");
hisFormat.setRoundingMode(RoundingMode.DOWN);
Double x = 12345678.12345;
System.out.println("Float Value " + hisFormat.format(x));

使用Float结果为12345678

使用Double,结果为12345678.12