将字符串解析为long,前导零

长话短说(Java):

String input= "0888880747; long convert = Long.parseLong(input); 

convert的值现在是:888880747

如何将String解析为long但保留前导零?

你不能因为长期没有前导零。 long应该存储整数(数学概念,而不是int ) ,即

数字线

05这样的字符串不是整数, 5是。 您可以做的是在打印时格式化一个长度为5的前导零,例如java.util.Formatter 。

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

当您完成转换计算时,您必须将其更改回String ,然后:

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

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

因此,一旦你有很long ,你就无法找出初始表示有多少前导零。

如果您真的关心这一点,那么您不应该将输入作为数字类型处理,而是存储String本身。

如果你的值很长,那么左边的任何零(前导)都没有数学值,因此,当你进行解析时它们会被剥离。