如何将字符串转换为长整型而不丢失前导零

mak*_*oni -3 java string

在我的网络服务方法中,我有一个类型为 的输入Long。我应该在左边添加两个零,所以我将其转换为String 并将两个零连接起来,然后我应该再次转换为Long,我发现java中的Long类型忽略左边的零。如何在 Long 值中保留左零?

Long a=58451236;
String b= "00"+String.valueOf(a);
Long c = Long.parseLong(b); // ==> Excepected value : 0058451236, found c= 58451236
Run Code Online (Sandbox Code Playgroud)

luk*_*302 5

你不知道,Long// long/Integerint一个数字,数字没有前导零。只有数字的字符串表示形式才可以有前导零。

如果您绝对需要前导零,并且数字 0001 与 001 不同,那么您处理的不是数字,而只是处理看起来像数字的字符串,并且您不应该首先将其转换为 long。