Java格式化、负值、零填充

Java格式化、负值、零填充,java,string,format,Java,String,Format,以下是一段引自: “d”“\u0054”将参数格式化为十进制整数。这个 采用定位算法 如果给定了“0”标志且该值为负值,则该符号后将出现零填充 我感到很沮丧,试图学习这个格式化的东西,但那个教程太混乱了 String.format("%03d", int); 我正试图弄明白这整个\u0054到底应该去哪里,但我只是不知道,我一定是错过了一些非常明显的东西或一些东西 编辑: 我想要实现的目标: 正面10:010 负10:-10 我想要达到的负面结果:-010\u0054是d 你能行 ((i &

以下是一段引自:

“d”“\u0054”将参数格式化为十进制整数。这个 采用定位算法

如果给定了“0”标志且该值为负值,则该符号后将出现零填充

我感到很沮丧,试图学习这个格式化的东西,但那个教程太混乱了

String.format("%03d", int); 
我正试图弄明白这整个\u0054到底应该去哪里,但我只是不知道,我一定是错过了一些非常明显的东西或一些东西

编辑:

我想要实现的目标: 正面10:010 负10:-10
我想要达到的负面结果:-010

\u0054
d

你能行

((i < 0) ? "-" : "") + String.format("%03d", Math.abs(i)); 
((i<0)?“-”:”)+String.format(“%03d”,Math.abs(i));

尝试
String.format(“%4d”,i)
然后(空格在%4之间);它使用4个位置,零填充,为正值留有额外的空间,所以得到“010”和“-010”。您可以
trim()
之后对字符串进行修剪以去除初始空格(或者执行类似
的操作,如果(i>0)s=s.substring(1)
或其他操作)。

'\u0054'
相当于
'd'
如果我保持现在的方式,负数(-)将替换为零,例如:正10:010,但是负数是-10,但我想说-010@Deragon保持一致性的接近的东西应该是
“%+04d”
,它将产生
“+010”
“-010”
。我喜欢这个答案。它为非负值提供了适当的填充。但是,您需要一个“%04d”来保持正确的前导零数。它不应该是
String.format(“%04d”,i)