我第一次尝试使用DecimalFormat java类,我遇到了一个奇怪的问题。我希望125.295回合到125.30。我认为格式应该自动包含0,但也许我不正确。
double num = 125.295;
DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.HALF_UP);
String str = df.format(num);
System.out.println(str); //this is yielding 125.3 instead of 125.30
请提前帮助并表示感谢!
答案 0 :(得分:3)
DecimalFormat类将“#”视为“隐藏尾随零”或“0”视为“显示零”。根据DecimalFormat的API:
0 Number Yes Digit
# Number Yes Digit, zero shows as absent
因此,如果您希望它显示尾随零,则应使用DecimalFormat(“#。00”)而不是DecimalFormat(“#。##”)。
答案 1 :(得分:0)
尝试使用DecimalFormat
,如下所示:
double num = 125.295;
DecimalFormat df = new DecimalFormat("###.00");
System.out.println("sum (DecimalFormat) : " + df.format(num));
输出:
125.30