如何在java中将0.0舍入到0.00?
我使用了以下函数如何在java中将0.0舍入到0.00?,java,decimal,Java,Decimal,我使用了以下函数 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"); 要四舍五入到两个有效数字,请尝试 De
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");
要四舍五入到两个有效数字,请尝试
DecimalFormat toTheFormat = new DecimalFormat("#.00");
你的方法是错误的。舍入是一种数值运算,它取一个数字x并返回另一个近似于x的数字y,并且具有十进制展开式只有这么多位数的特性。例如:
0.123 --> 0.12
但是0.0和0.00是完全相同的数字,四舍五入没有意义。您(可能)想要的是在输出上以某种方式格式化数字。关于这一点,请参见其他答案。如果我使用
DecimalFormat to the format=new DecimalFormat(“#.00”)代码>
我得到的输出是.00而不是0.00
所以这是正确的代码
DecimalFormat toTheFormat=新的DecimalFormat(#0.00”)代码>浮动
不能用零填充-您需要使用从到format的输出。format(val)
本身,而不是此方法的值
输出为字符串。如果我需要它在float中怎么办?那么您将无法右键填充的分数部分,因为它是float
-只有字符串才能使用此方法的输出在字符串中。如果我需要浮点数呢?你可以做一个转换结果