有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

解析将前导零添加到已转换的整数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
*/

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

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

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

编辑
我听说Integerint不能有前导零
我在数据库中使用gpn进行个人身份识别。最好的办法是编辑grafical输出,使其看起来像是0?还是有更好的方法来解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    整数不能有前导零

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