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