在左垫中添加零号
Adding number with zero in left pad
首先很抱歉这个愚蠢的问题,因为我是 java 的新手。实际上我有一个字符串,其中包含一个数字,我想将其值增加到某个特定数字。我很困惑如何解释。下面是我需要做的例子。
我有一个字符串,即:-
"03000001da00000001666666"
我想像下面这样增加它的价值
"03000001da00000002666666"
"03000001da00000003666666"
"03000001da00000004666666"
等等
我在下面写了一个简单的 java 代码:
但它打印错误,即:-
"03000001da2666666"
"03000001da3666666"
"03000001da4666666"
等等
public class Demo {
public static void main(String[] args) {
String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String requireIndex = content.substring(10,18);
String lastIndex = content.substring(18, content.length());
for(int i = 0; i <= 10;i++){
System.out.println(firstIndex + (Integer.parseInt(requireIndex)+i) + lastIndex);
}
}
}
需要帮助请帮帮我。
您可以使用 printf
和格式 String
(如 %08d
)在 8 个字符处用前导零填充 int
。您还可以在循环之前解析一次 int
,String.substring(int)
(只有一个参数)默认读取 String
的其余部分。这可能看起来像,
String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String lastIndex = content.substring(18);
int middle = Integer.parseInt(content.substring(10, 18));
for (int i = 0; i <= 10; i++) {
System.out.printf("%s%08d%s%n", firstIndex, middle + i, lastIndex);
}
试试这个:
public static void main(String[] args) {
String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String requireIndex = content.substring(10,18);
String lastIndex = content.substring(18);
for(int i = 0; i <= 10;i++){
System.out.printf("%s%08d%s%n",firstIndex, Integer.parseInt(requireIndex)+i, lastIndex);
}
}
首先很抱歉这个愚蠢的问题,因为我是 java 的新手。实际上我有一个字符串,其中包含一个数字,我想将其值增加到某个特定数字。我很困惑如何解释。下面是我需要做的例子。
我有一个字符串,即:-
"03000001da00000001666666"
我想像下面这样增加它的价值
"03000001da00000002666666"
"03000001da00000003666666"
"03000001da00000004666666"
等等
我在下面写了一个简单的 java 代码:
但它打印错误,即:-
"03000001da2666666"
"03000001da3666666"
"03000001da4666666"
等等
public class Demo {
public static void main(String[] args) {
String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String requireIndex = content.substring(10,18);
String lastIndex = content.substring(18, content.length());
for(int i = 0; i <= 10;i++){
System.out.println(firstIndex + (Integer.parseInt(requireIndex)+i) + lastIndex);
}
}
}
需要帮助请帮帮我。
您可以使用 printf
和格式 String
(如 %08d
)在 8 个字符处用前导零填充 int
。您还可以在循环之前解析一次 int
,String.substring(int)
(只有一个参数)默认读取 String
的其余部分。这可能看起来像,
String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String lastIndex = content.substring(18);
int middle = Integer.parseInt(content.substring(10, 18));
for (int i = 0; i <= 10; i++) {
System.out.printf("%s%08d%s%n", firstIndex, middle + i, lastIndex);
}
试试这个:
public static void main(String[] args) {
String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String requireIndex = content.substring(10,18);
String lastIndex = content.substring(18);
for(int i = 0; i <= 10;i++){
System.out.printf("%s%08d%s%n",firstIndex, Integer.parseInt(requireIndex)+i, lastIndex);
}
}