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

时间:2011-10-27 15:22:22

标签: java parsing long-integer zero

长话短说(用Java):

String input= "0888880747;

long convert = Long.parseLong(input);

转换的价值现在是:888880747

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

4 个答案:

答案 0 :(得分:11)

你不能因为长期没有前导零。长期应该存储integers (the mathematical concept, not int),即

number line

05这样的字符串不是整数,5是。你可以做的是格式化一个长5,当你打印时它带有前导零,参见例如java.util.Formatter

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

答案 1 :(得分:4)

当你完成转换计算后,你必须将它改回String,然后:

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

答案 2 :(得分:3)

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

一旦你有long,你就不能找出初始代表有多少前导零。

如果你真的关心它,那么你不应该把输入作为数字类型来处理,而是存储String本身,而不是。

答案 3 :(得分:0)

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