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