繁体   English   中英

Java字符串格式数组

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

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