我得到 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
用于数据库中的个人识别。最好的主意是编辑g grafical输出,使它看起来就像有了 0
? 或者有什么更好的方法解决这个问题?
一个整数不能有前导零。
因为前导零不会给整数增加任何数学意义,所以它们不会被存储为前导零。前导零很可能只增加了人类在处理数值时的可读性。对于这种用法,可以用你自己已经找到的方式使用一个字符串。