[英]Java String Format array
我正在尝试格式化字符串,如下所示
System.out.println("unique number is :"+ number[b]);
System.out.println("unique number formatted to 28 is :"+ String.format("%-28s",number[b]).replace(' ','0'))
当“数字”是短于28的字符串时,没有问题,它在左侧添加了0,但是当字符串长于28时,它并没有缩短它,我在做错什么吗?
它是来自循环BTW的摘录
非常感谢
格式化程序不会剪切您的String
,只会确保它至少使用28个空格。
您将必须执行以下操作:
if (str.length() > 28) {
str = str.subString(0, 28);
}
或者可能
if (str.length() > 28) {
str = str.subString(str.length() - 28, str.length());
}
限制大小。
其原因format
,你想到的是不工作是从的javadoc明确java.util.Formatter
类。 它说:
“可选宽度是一个非负十进制整数,指示要写入输出的最小字符数 。”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.