【发布时间】:2013-07-10 18:37:09
【问题描述】:
在 Java 中,我有以下代码:
System.out.printf("%05.5f", myFloat);
这适用于任何小于 10 的数字,但对于任何 10 或更大的数字,小数位会被修剪为 5,但这并不能弥补小数点前的数字更长的事实。我想做以下其中一项:
12.3456
1.23456
(即相同的位数),或:
12.34567
2.34567
(即,用空格填充,以便小数点和最后一个数字对齐)。
如果我可以让其中任何一个工作,我会很高兴(两者都会更好!)。
有什么想法吗?谢谢!
【问题讨论】:
-
你知道你需要的最大宽度吗?如果是这样,只需将其用作宽度而不是 5。
-
你的意思是像“%05f”?如果是这样,那是行不通的。我得到:
29.979748,然后是7.449038(小数点后的位数相同,但没有前导空格或 0)。 -
我的意思是“%08.5f”行——让它变宽
-
是的,我最终想通了。请参阅@marko-topolnik 对我的回答的评论。
标签: java floating-point string-formatting fixed-width