编码为19位,不足19位,以0补足

获取到用户输入的一个编码变量taxsortcode,但是不足19位,想给这个String后面补0,怎么写啊

。。你判断他的length不就可以了。。。 缺多少补多少直接+"00000000"不就完事了。。

字符串所有字符预先全部初始化为0就行了啊

前提:不管taxsortcode是什么类型都不可为null哦,否则要先判定
1.这个编码变动如果是数字的话:
可以直接使用


String.format("%019d", taxsortcode)

2.如果字符串的话,在调用不频繁的情况直接用循环即可

  while (taxsortcode.length() < 19) {
            taxsortcode = "0" + taxsortcode;
        }
  1. 如果是字符串并且调用频繁的话可以考虑下面的方式:
    ```java
    package littlehow;

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;
      }
    

    }
    }
    ```