我需要在日志末尾创建一个汇总表,其中包含一些值 在类中获得。表格需要以固定宽度打印 格式。我已经有代码可以做到这一点,但我需要限制字符串, 将 double 和整数转换为在代码中硬编码的固定宽度大小。
所以,假设我想打印一个固定宽度的表格
int,string,double,string
int,string,double,string
int,string,double,string
int,string,double,string
and the fixed widths are: 4, 5, 6, 6.
如果一个值超过这个宽度,最后一个字符需要被截掉。所以 例如:
124891, difference, 22.348, montreal
需要打印的字符串应该是:
1248 diffe 22.348 montre
我想我需要在构造函数中做一些事情来强制 字符串不超过一定数量的字符。我可能会 将 double 和整数转换为字符串,因此我可以强制执行最大宽度 要求。
我不知道这是用哪种方法,或者是否可以将字符串实例化为 举止得体。使用格式化程序仅有助于 用于打印字符串的固定格式,但实际上并没有 砍掉超过最大长度的字符。
最佳答案
您也可以使用 String.format("%3.3s", "abcdefgh")
。第一个数字是最小长度(如果字符串较短,则将被填充),第二个数字是最大长度,如果较长,字符串将被截断。所以
System.out.printf("'%3.3s' '%3.3s'", "abcdefgh", "a");
会产生
'abc' ' a'
(显然,您可以删除引号)。
关于java - 限制字符串中的字符数,并截断其余字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369708/