我在java
中有一个DecimalFormat
,当我使用它时,它无法按预期工作。在输入中,我得到了150000
,我希望得到15.00
作为结果。代码如下:
import java.text.DecimalFormat;
public class MyClass {
public static void main(String args[]) {
long x=150000;
DecimalFormat df = new DecimalFormat("#.##");
System.out.println("x " + x/10000);
long y = x/10000;
System.out.println(df.format(y));
}
}
并且控制台仍然显示15
而不是15.00
。我在这里错过了什么?顺便说一句,有没有更好的方法来制作这样的格式化程序(同时尝试将15000
转换为15.00
(?或者,在这种情况下,最好的选择是将其除以10000
?感谢您的反馈!
您的模式应该是:
DecimalFormat df = new DecimalFormat("#.00");
因为正如DecimalFormat的javadoc所说:
符号 | 位置是否本地化 | 含义 |
---|---|---|
0 | 数字 | 是数字 |
# | 数字 | 是数字,零显示为不存在 |