我使用了以下功能
float val=0.0;
DecimalFormat toTheFormat = new DecimalFormat("#.##");
float value=Float.valueOf(toTheFormat.format(val));
但它不适合所有条件,如“0.0”仍为“0.0”。它不能扩展到“0.00”。
答案 0 :(得分:12)
使用
DecimalFormat toTheFormat = new DecimalFormat("0.00");
舍入到2位有效数字
答案 1 :(得分:4)
试
DecimalFormat toTheFormat = new DecimalFormat("#.00");
答案 2 :(得分:1)
你的做法是错误的。 舍入是一个数字运算,它取一个数字x并返回另一个数字y,它接近x并且具有十进制扩展只有这么多数字的属性。例如:
0.123 --> 0.12
但0.0和0.00是完全相同的数字,舍入没有意义。你(可能)想要的是在输出上以某种方式格式化数字。为此,请参阅其他答案。
答案 3 :(得分:1)
如果我使用DecimalFormat toTheFormat = new DecimalFormat("#.00");
输出为 .00 而不是 0.00
所以这将是正确的代码
DecimalFormat toTheFormat = new DecimalFormat("#0.00");