Java 将字符串解析为带前导零的长字符串

Java 将字符串解析为带前导零的长字符串,java,parsing,long-integer,zero,Java,Parsing,Long Integer,Zero,长话短说(Java): 转换值现在为:888 0747 如何将字符串解析为长字符串,但保留前导零?您不能,因为长字符串没有前导零。一个长的应该存储,即 像05这样的字符串不是整数,5是整数。您可以做的是在打印时格式化一个包含5且前导零的长字符,请参见例如 你确定你想要一个长/整数吗?你想用它做什么?Along是一个数值。000001的数值与1没有区别:它是完全相同的数字 因此,一旦有了一个长的,您就无法找出初始表示有多少前导零 如果您真的关心这个问题,那么您无论如何都不应该将输入作为数字类型处

长话短说(Java):

转换值现在为:888 0747


如何将
字符串
解析为
长字符串
,但保留前导零?

您不能,因为长字符串没有前导零。一个长的应该存储,即

05
这样的字符串不是整数,
5
是整数。您可以做的是在打印时格式化一个包含
5
且前导零的长字符,请参见例如


你确定你想要一个长/整数吗?你想用它做什么?

A
long
是一个数值。000001的数值与1没有区别:它是完全相同的数字

因此,一旦有了一个
长的
,您就无法找出初始表示有多少前导零


如果您真的关心这个问题,那么您无论如何都不应该将输入作为数字类型处理,而是存储
字符串本身。

如果您的值是长的,那么左侧的任何零(前导)都没有数学值,因此,在进行解析时,它们会被去掉

在对convert进行计算后,必须将其更改回
字符串,然后:

output = String.format("%06d", convert);

这毫无意义。long没有前导零,只有字符串有。00001与1相同。前导零无效。如果需要前导零,则需要将其存储在字符串中,或在打印时将其格式化为字符串。谢谢。我也这么怀疑,但我只是想确定一下。这意味着如果它像
09那样写,那么它被认为是一个字符串,而不是一个整数,如果你把它转换成整数,它只会给你“9”。
output = String.format("%06d", convert);