Android java 向字符串追加 n 个字符

Android java append n characters to string

我想在 int 小于 5 时附加“0”字符串。我试过这个

if(allItems_filtered.results(i).min_sale_unit_price.length() < 5){
   calc = 5 - allItems_filtered.results(i).min_sale_unit_price.length();
   min_sale_unit_price = String.format("%0" + calc + "d", allItems_filtered.results(i).min_sale_unit_price);
}

int calc 是它必须附加在 min_sale_unit_price 字符串前面的“0”的数量

其中returns这个错误:

%d can't format java.lang.String arguments

这是不言自明的,但我不知道如何将相同的内容转换为字符串。

告诉您您正在尝试格式化字符串,但 %d 引用的是一个整数,您需要将字符串转换为整数才能正常工作。另外你不需要计算你需要多少个零,如果你使用 %05d 它会自动填充数字直到它的长度不是 5

min_sale_unit_price = String.format("%05d", Integer.valueOf(allItems_filtered.results(i).min_sale_unit_price));

举个例子

Log.d("123?", String.format("%05d", 123));

会打印出来

00123

如果你取一个大于 5 的数字,它不会追加任何东西

Log.d("123?", String.format("%05d", 123456));

结果

123456