解析将前导零添加到已转换的整数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
,所以我必须再次解析它,这将导致与之前完全相同的问题
编辑:
我听说Integer
或int
不能有前导零
我在数据库中使用gpn
进行个人身份识别。最好的办法是编辑grafical输出,使其看起来像是0
?还是有更好的方法来解决这个问题
# 1 楼答案
整数不能有前导零
由于前导零对整数没有数学意义,因此它们不会被存储为整数。前导零很可能只会增加查看/处理值的可读性。对于这种用法,字符串可以按照您已经找到的方式使用