Android java在字符串中追加n个字符

Android java在字符串中追加n个字符,java,android,string,append,string.format,Java,Android,String,Append,String.format,当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.resul

当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);
}

这是非常自我解释的,但我不知道如何将其转换为字符串。

它告诉您正在尝试格式化字符串,但
%d
引用的是int,您需要将字符串转换为int,这样才能正常工作。此外,您不需要计算需要多少零,如果使用
%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

好吧,我已经试过了,没有返回错误,但是它也没有附加“0”?我已经检查过,
int calc
实际上是正确的值。直接使用%05d,您的计算逻辑是错误的。你不需要计算evenAh是的,的确,我认为它的工作原理有点不同,但它现在正是我想要的。谢谢你的时间和帮助@KrijnvanderBurg没问题,编码快乐
123456