java - 如何计算带填充零的整数

标签 java string format output

我想使用变量宽度1计数到10

宽度示例:4

计数应该是:

0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 ---> Note that it's not 00010

宽度示例:2

计数应该是:

01 ... 09 10 ---> Not 010

我尝试过以下方法:

第一次尝试

for(int i = 1; i <= 10; ++i) {
   System.out.println("0".repeat(width-1) + i);
}

第二次尝试

String output = String.format("%04d", 1);

随着位数的变化,这些不能正确地格式化数字。

最佳答案

您可以创建具有可变长度格式说明符的格式字符串。将宽度变量调整为您需要的任何前导 0。

int width = 2;
String format = "%0"+width+"d";

for(int i = 1; i <= 10; i++)  {
    String output = String.format(format, i);
    System.out.println(output);
}


/* Output:
01
02
03
04
05
06
07
08
09
10
*/

关于java - 如何计算带填充零的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71876271/

相关文章:

java - 我的 Maven 配置有什么问题?

java - 为什么我的循环输出两个不同的结果?

c# - 帮助解决 C# 中的\0 终止字符串

php - 反转字符串中所有字母的大小写(大写到小写和小写到大写)

java - Spring 3 : @OneToOne unidirectional generate java. sql.SQLException: ORA-00918

java - 如何将 Java 源代码放入 IDE

PHP 通知 : Uninitialized string offset: 0

python - 将 Numpy 存储为 pickled Pandas、Pickled Numpy 或 HDF5

java - 如何将 PNG 文件加载为 ARGB_8888,即使它们没有 alpha channel ?

matlab - 将 <<(index, index) value>> 形式的数据导入稀疏矩阵