繁体   English   中英

格式化浮点数并指定结果的宽度

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM