Java:设置String.format不显示0位小数

时间:2016-06-30 15:33:31

标签: java string string-formatting

有没有办法设置String.format,以便它不会显示00小数? 例如,我想:

String.format("%.2f", 12.345d)

显示12.34

String.format("%.2f", 12.3d)

显示12.3而不是12.30

2 个答案:

答案 0 :(得分:5)

使用DecimalFormat设置舍入,例如:

DecimalFormat df = new DecimalFormat("0.##");
df.setRoundingMode(RoundingMode.DOWN) //rounding off
df.format(12.345d) //12.34
df.format(12.3d) //12.3
df.format(12.00) //12

答案 1 :(得分:0)

使用while (num % 10 != 0) { if (num % 3 != 0) printf("%d\n", num); num++; } 进行初始格式设置后,一个选项是通过基于%.2f的{​​{1}}运行生成的字符串。

regexreplace应该捕获字符串/数字末尾的所有尾随regex

所以完整的方法调用可能是:

0*$