[英]Formatting floating point numbers and specify width of the result
下面的示例代码:
System.out.printf(" %1.1f " , 2122.3856);
打印出2122.4
我为上述结果指定的格式显示我要求一个小数点和1个字符长的宽度。 我可以看到一个小数点(即.4),但是为什么指定的宽度不起作用?
引用http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax (强调是我的):
宽度是要写入输出的最小字符数
如果您的电话号码更大,它将完全打印出来。 如何用一个字符打印2122?
width
规格是最小值 ,而不是最大值。
如果要强制执行一个宽度,该宽度实际上会使数字的值变得毫无意义,则应进行数学运算(例如获得十分之一的位置)或操纵对字符串的转换。
我在javadoc.util.Formatter的javadoc 中找到了以下内容(重点是我的):
可选宽度是一个非负十进制整数,指示要写入输出的最小字符数。
宽度仅是最小值,用于填充输出,以便(例如)列对齐。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.