Java 有没有一种好方法可以在不转换为字符串的情况下用零填充整数?

Java 有没有一种好方法可以在不转换为字符串的情况下用零填充整数?,java,string,format,int,Java,String,Format,Int,我想不出更好的方法,在不将整数转换为字符串的情况下,用零填充整数。有办法做到这一点吗?我发现了很多关于这个的问题,但是它们都需要字符串转换。我知道我们可以通过这种方法找到长度: int length = (num==0) ? 1 : (int)Math.log10(num) + 1; 但是,这仍然需要我将其转换为字符串,然后再返回。当然,还有更好的方法吗?没有。int表示一个数学整数值,表示为32位。0001是1,具有唯一的二进制表示形式。左填充整数不是整数。它们是字符串。否。int表示数学整

我想不出更好的方法,在不将整数转换为字符串的情况下,用零填充整数。有办法做到这一点吗?我发现了很多关于这个的问题,但是它们都需要字符串转换。我知道我们可以通过这种方法找到长度:

int length = (num==0) ? 1 : (int)Math.log10(num) + 1;

但是,这仍然需要我将其转换为字符串,然后再返回。当然,还有更好的方法吗?

没有。
int
表示一个数学整数值,表示为32位。0001是1,具有唯一的二进制表示形式。左填充整数不是整数。它们是字符串。

否。
int
表示数学整数值,表示为32位。0001是1,具有唯一的二进制表示形式。左填充整数不是整数。它们是字符串。

否。数字类型不能包含前导零。这是格式化文本表示法的一项功能,即字符串。数字类型不能包含前导零。这是格式化文本表示法的一个特点,即字符串,因为你已经有了长度,我猜前导零只是为了输出,但最终你的问题被其他两张海报回答了

int length = (num==0) ? 1 : (int)Math.log10(num) + 1;
String zeros;
for(int i=0; i<length; i++) {
  zeros = zeros.concat("0");
}
System.out.println(zeros + num);
int-length=(num==0)?1:(int)Math.log10(num)+1;
字符串零;

对于(int i=0;i,因为你已经有了长度,我猜前导的0只是为了输出,但最终你的问题被其他两张海报回答了

int length = (num==0) ? 1 : (int)Math.log10(num) + 1;
String zeros;
for(int i=0; i<length; i++) {
  zeros = zeros.concat("0");
}
System.out.println(zeros + num);
intlength=(num==0)?1:(int)Math.log10(num)+1;
字符串零;

对于(int i=0;i“左pad”意味着什么?它在整数方面没有任何意义(因为未更改);它仅适用于整数的可视(文本)表示形式。打印整数时,它会转换为字符串。它对“左pad”意味着什么?在整数方面没有任何意义(因为未更改);它仅适用于整数的可视(文本)表示形式。打印整数时,它将转换为字符串。