我用下面的函数如何在java中舍入0.0到0.00?
float val=0.0;
DecimalFormat toTheFormat = new DecimalFormat("#.##");
float value=Float.valueOf(toTheFormat.format(val));
但它不适合还是喜欢“0.0”的所有条件“0.0”。它不会扩大到“0.00”。
我用下面的函数如何在java中舍入0.0到0.00?
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");
此方法的输出为String。如果我需要浮动,该怎么办? –
你可以做一个转换结果 – sunysen
你的做法是错误的。 四舍五入是一个数字运算,它需要一个数字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");
你可以省略领先的'#'...... – Reimeus
尝试。仍然得到相同的结果。 –
'floats'不能正确填充零 - 您需要使用'toTheFormat.format(val)'本身的输出而不是'value' – Reimeus
此方法的输出是String。如果我需要浮动,该怎么办? –