长话短说(用Java):
String input= "0888880747;
long convert = Long.parseLong(input);
转换的价值现在是:888880747
如何将String
解析为long
但保留前导零?
答案 0 :(得分:11)
你不能因为长期没有前导零。长期应该存储integers (the mathematical concept, not int
),即
像05
这样的字符串不是整数,5
是。你可以做的是格式化一个长5
,当你打印时它带有前导零,参见例如java.util.Formatter
你确定你甚至想要一个长整数吗?你想用它做什么?
答案 1 :(得分:4)
当你完成转换计算后,你必须将它改回String
,然后:
output = String.format("%06d", convert);
答案 2 :(得分:3)
long
是一个数值。 000001的数值与1没有区别:它是完全相同的数字。
一旦你有long
,你就不能找出初始代表有多少前导零。
如果你真的关心它,那么你不应该把输入作为数字类型来处理,而是存储String
本身,而不是。
答案 3 :(得分:0)
如果你的值很长,那么左边的任何零(前导)都没有数学值,因此,当你进行解析时它们会被剥离。