我的java类中有以下字符串
String str="0000000000008";
现在我想增加它,以便下一个值应为0000000000009
为此,我尝试将此字符串str
转换为Integer
Integer i=Integer.parseFloat(str)+1;
当我打印i
的值时,它只打印17(因为它在转换时从字符串中删除了前导0)。
如何增加String值,以便保留前导0,系列将继续?
答案 0 :(得分:7)
实用解决方案 - 使用String.format
:
str = String.format("%013d", Long.parseLong(str)+1);
答案 1 :(得分:5)
你走在正确的道路上。首先解析为Long
:
long cur = Long.parseLong("0000000000008");
以领先String
s:
0
new java.text.DecimalFormat("0000000000000").format(cur + 1);
或者:
String.format("%013d", Long.valueOf(cur));