Aru*_*mar 1 java string casting increment number-formatting
我的java类中有以下字符串
String str="0000000000008";
Run Code Online (Sandbox Code Playgroud)
现在我想增加它,以便下一个值应该是0000000000009
为此,我尝试将此String str转换为Integer
Integer i=Integer.parseFloat(str)+1;
Run Code Online (Sandbox Code Playgroud)
当我打印i它的值时,它只打印17(因为它在转换时从字符串中删除了前导0).
如何增加String值,以便保留前导0,系列将继续?
实用解决方案 - 使用String.format:
str = String.format("%013d", Long.parseLong(str)+1);
Run Code Online (Sandbox Code Playgroud)
你走在正确的道路上.首先解析为Long:
long cur = Long.parseLong("0000000000008");
Run Code Online (Sandbox Code Playgroud)
增加并格式化回String领先0s:
new java.text.DecimalFormat("0000000000000").format(cur + 1);
Run Code Online (Sandbox Code Playgroud)
或者:
String.format("%013d", Long.valueOf(cur));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3909 次 |
| 最近记录: |