Java:移动百分比符号,或在百分号后填充空格

时间:2015-04-19 10:40:37

标签: java printf percentage decimalformat

我需要输出以匹配以下内容(我主要关注百分比值):

100% | 03 games
75%  | 04 games
14%  | 07 games

我无法让他们在彼此之间排队。第一个整数需要左对齐。我尝试使用printf("%-3d%%", percentage) - 它们排列很好,但第一个整数和百分号之间有一个间隙(当它不等于100时):

100% | 03 games
75 % | 04 games
14 % | 07 games

我还尝试了一个DecimalFormat说明符"##0%",但问题是不同数字位数的百分比值不对齐 - %和{{之间只有一个空格1}},当有时需要两三个时。

|

我如何解决这个问题?有没有办法在百分号后填充空格?提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用String.format两次:

String inner = format("%d%%", yourNumber); // creates "42%"
String outer = format("%-4s", inner); // creates "42% "