在转换后的整数中添加前导零的Java

问题描述 投票:0回答:1

我得到 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 用于数据库中的个人识别。最好的主意是编辑g grafical输出,使它看起来就像有了 0? 或者有什么更好的方法解决这个问题?

java parsing int parseint leading-zero
1个回答
2
投票

一个整数不能有前导零。

因为前导零不会给整数增加任何数学意义,所以它们不会被存储为前导零。前导零很可能只增加了人类在处理数值时的可读性。对于这种用法,可以用你自己已经找到的方式使用一个字符串。

© www.soinside.com 2019 - 2024. All rights reserved.