在java中将前导0字符串转换为整数

时间:2012-03-02 11:39:06

标签: java string casting increment number-formatting

我的java类中有以下字符串

String str="0000000000008";

现在我想增加它,以便下一个值应为0000000000009

为此,我尝试将此字符串str转换为Integer

Integer i=Integer.parseFloat(str)+1;

当我打印i的值时,它只打印17(因为它在转换时从字符串中删除了前导0)。

如何增加String值,以便保留前导0,系列将继续?

2 个答案:

答案 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));