Swa*_*ika 12 java string format
可java.lang.String.format(String str, String str1)
用于添加特定字符的前缀.
我可以为以下数字执行此操作:
int sendID = 202022;
String usiSuffix = String.format("%032d", sendID);
Run Code Online (Sandbox Code Playgroud)
它String
的长度为32,左侧为0:00000000000000000000000000202022
如何在sendID之String
类的时候实现同样的目标:
String sendID = "AABB";
Run Code Online (Sandbox Code Playgroud)
我想要一个输出,如: 0000000000000000000000000000AABB
anu*_*ava 16
您可以使用这种hackish方式获得输出:
String sendID = "AABB";
String output = String.format("%0"+(32-sendID.length())+"d%s", 0, sendID);
Run Code Online (Sandbox Code Playgroud)
Jay*_*han 12
如果你真的想使用String.format
,你可以这样做,
String sendID = "AABB";
String.format("%32s", sendID ).replace(' ', '0')
Run Code Online (Sandbox Code Playgroud)
除此之外String.format
,你可以找到很多解决方案在这里.
编辑:感谢Brian指出了这个问题.以上不适用于带空格的输入.你可以尝试如下.但我不会建议下面的操作,因为它有太多的字符串操作.
String sendID = "AA BB";
String suffix = String.format("%32s", "").replace(' ', '0') + sendID;
sendID = suffix.substring(sendID.length());
Run Code Online (Sandbox Code Playgroud)
您也可以尝试使用StringUtils.leftPad
StringUtils.leftPad(sendID, 32 - sendID.length(), '0');
Run Code Online (Sandbox Code Playgroud)
您不能使用String.format()
任意字符填充.也许Apache Commons StringUtils.leftPad()可用于简洁的解决方案?请注意,也有一个StringUtils.rightPad()
.
归档时间: |
|
查看次数: |
35831 次 |
最近记录: |