将字符串解析为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
本身。
如果你的值很长,那么左边的任何零(前导)都没有数学值,因此,当你进行解析时它们会被剥离。