如何在整数左侧填充空格?

10

如何格式化一个没有前导零的整数值?我尝试使用十进制格式,但无法达到精确的结果:

DecimalFormat dFormat=new DecimalFormat("000");

mTotalNoCallsLbl.setText(""+dFormat.format(mTotalNoOfCallsCount));
mTotalNoOfSmsLbl.setText(""+dFormat.format(mTotalNoOfSmsCount));
mSelectedNoOfCallsLbl.setText(""+dFormat.format(mSelectedNoOfCallLogsCount));
mSelectedNoOfSmsLbl.setText(""+dFormat.format(mSelectedNoOfSmsCount));

我得到了以下输出:

500
004
011
234

但我想要这些:

500
  4
 11
234

我的问题是如何用空格替换零?

1个回答

19

看起来您想用空格进行左填充,也许您需要使用:

String.format("%3d", yourInteger);
例如:
int[] values = { 500, 4, 11, 234 };

for (int v : values) {
  System.out.println(String.format("%3d", v));
}

输出:

500
  4
 11
234

谢谢您的回复。我已经尝试过这种方法,但格式化没有发生……需要将数字从右到左显示。 - Karthick
@Karthick,你尝试使用String.format了吗?还是你指的是我在最后一次编辑之前的回答? - Duncan Jones
我先尝试了String.format,但是没有成功。之后我转而使用DecimalFormat……感谢您的回复。 - Karthick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接