获取到用户输入的一个编码变量taxsortcode,但是不足19位,想给这个String后面补0,怎么写啊
。。你判断他的length不就可以了。。。 缺多少补多少直接+"00000000"不就完事了。。
字符串所有字符预先全部初始化为0就行了啊
前提:不管taxsortcode是什么类型都不可为null哦,否则要先判定
1.这个编码变动如果是数字的话:
可以直接使用
String.format("%019d", taxsortcode)
2.如果字符串的话,在调用不频繁的情况直接用循环即可
while (taxsortcode.length() < 19) {
taxsortcode = "0" + taxsortcode;
}
import java.util.HashMap;
import java.util.Map;
/**
@author littlehow
/
public class AppendUtil {
private static Map<Integer, String> APPEND = new HashMap<>();
static {
APPEND.put(19, "");
APPEND.put(18, "0");
APPEND.put(17, "00");
APPEND.put(16, "000");
APPEND.put(15, "0000");
APPEND.put(14, "00000");
APPEND.put(13, "000000");
APPEND.put(12, "0000000");
APPEND.put(11, "00000000");
APPEND.put(10, "000000000");
APPEND.put(9, "0000000000");
APPEND.put(8, "00000000000");
APPEND.put(7, "000000000000");
APPEND.put(6, "0000000000000");
APPEND.put(5, "00000000000000");
APPEND.put(4, "000000000000000");
APPEND.put(3, "0000000000000000");
APPEND.put(2, "00000000000000000");
APPEND.put(1, "000000000000000000");
APPEND.put(0, "0000000000000000000");
}
public static String append(String taxsortcode) {
if (taxsortcode == null) {
return APPEND.get(0);
} else if (taxsortcode.length() > 19) {
return taxsortcode;
} else {
return APPEND.get(taxsortcode.length()) + taxsortcode;
}
}
}
```