将前导零添加到转换后的整数 Java

Add leading Zeros to converted Integer Java

我得到 gpnString 作为 String,我必须将它解析为 int
我使用的是 Integer.parseInt(gpnString)gpnString 包含前导零,它们会被 Integer.parseInt().

删除

gpnString 的长度总是 8 所以我试着根据需要添加这么多 0 但是 int 检测到它是 NULL 所以它没有添加数字 0。这是我的代码:

int parseToInt(String gpnString) {
        int gpn = Integer.parseInt(gpnString);
        for (int addZero = 8 - String.valueOf(gpn).length(); addZero != 0; addZero--) {
            gpn = 0 + gpn;
        }
        return gpn;
}

/*
  Input : gpnString = "00012345"
  Output: 12345
*/

我在 Whosebug 上查过这个,但我只找到了这样的答案:

String gpn = String.format("%08d" , gpnSring);

我试过了,但是你得到了一个 String 所以我必须再次解析它,这会导致与以前完全相同的问题。

编辑:
我听说 Integerint 不能有前导零...
我使用 gpn 在数据库中进行个人识别。最好的办法是编辑图形输出,让它看起来就像有 0 一样吗?或者有更好的方法解决这个问题吗?

整数不能有前导零。

由于前导零对整数没有数学意义,因此不会这样存储。前导零很可能只会增加人类查看/处理值的可读性。对于这种用法,可以按照您已经找到的方式使用字符串。