【发布时间】:2012-07-08 14:24:13
【问题描述】:
对不起,我最初想在 php PHP integer part padding 中执行此操作,但后来意识到我将在 Java 的另一部分代码中执行此操作
所以我需要用至少 2 个字符的整数部分来格式化数字
2.11 -> 02.11
22.11 -> 22.11
222.11 -> 222.11
2.1111121 -> 02.1111121
double x=2.11;
System.out.println(String.format("%08.5f", x));
可以,但是右边的尾随零很烦人,我想要一个任意大的浮动部分
String.format("%02d%s", (int) x, String.valueOf(x-(int) x).substring(1))
完全丑陋且不精确(给出 02.1099...)
new DecimalFormat("00.#############").format(x)
将截断浮动部分
感谢任何更好的解决方案
【问题讨论】:
-
将其更改为
String.format("%8.5f", x)(8 之前没有 0)。 -
我需要用 0 填充整数部分,以便整数部分至少有 2 个字符
-
然后改成
String.format("%02.5f", x),如果整数部分多于2位,则打印整数部分。 -
它给出 2.11000,我需要 02.11
-
您知道小数部分需要多少位数字吗?因为您可以毫无问题地使用
String.format("%02f", x)。我想你应该举更多关于你需要/想要什么的例子。您甚至可以使用NumberFormat对象为您完成这项工作(但这需要更多代码行)