3

我使用了以下功能

float val=0.0;
DecimalFormat toTheFormat = new DecimalFormat("#.##");
float value=Float.valueOf(toTheFormat.format(val));

但它并不适合所有条件,例如“0.0”仍然是“0.0”。它不能扩展到“0.00”。

4

4 回答 4

13

采用

DecimalFormat toTheFormat = new DecimalFormat("0.00");

四舍五入到 2 位有效数字

于 2013-10-09T10:39:23.480 回答
4

尝试

DecimalFormat toTheFormat = new DecimalFormat("#.00");
于 2013-10-09T10:39:59.123 回答
1

你的方法是错误的。舍入是一种数字运算,它接受一个数字 x 并返回另一个数字 y,它近似于 x 并且具有十进制扩展只有这么多数字的属性。例子:

0.123 --> 0.12

但是 0.0 和 0.00 是完全相同的数字,四舍五入没有意义。您(也许)想要的是在输出时以某种方式格式化数字。为此,请参阅其他答案。

于 2013-10-09T11:11:30.063 回答
1

如果我使用DecimalFormat toTheFormat = new DecimalFormat("#.00");

输出为.00而不是0.00

所以这将是正确的代码

DecimalFormat toTheFormat = new DecimalFormat("#0.00");

于 2013-10-09T11:37:42.457 回答