【发布时间】:2017-10-10 01:41:46
【问题描述】:
左图是我现在所拥有的。正确的图像是我的目标。
小数点前的整数需要三个空格。如果是 0,我只需要在 0 之前显示两个空格即可。我就是这样做的,但它不起作用,因为它会产生左侧图像。我需要它在小数点前强制三个空格。
mAttemptOneScore.setText(String.format("%3.2f", mScoreAttemptOne));
mAttemptTwoScore.setText(String.format("%3.2f", mScoreAttemptTwo));
mAttemptThreeScore.setText(String.format("%3.2f", mScoreAttemptThree));
mAttemptFourScore.setText(String.format("%3.2f", mScoreAttemptFour));
mTotalScore.setText(String.format("%3.2f", mFinalScore));
【问题讨论】:
-
即使有人给你代码来填充字符串,我认为你仍然可能有格式问题,特别是如果你的字体不是等宽的。你看,一个空格和一个零在非等宽字体中可能不会占用相同的宽度,实际上甚至可能没有办法使用空格对齐所有内容。在这里进行操作的更好方法可能是为分数的 RHS 使用单独的文本视图。
-
不确定使用不同的文本视图是什么意思。 I am not doing it?
-
不,我是说等号右侧的所有内容都是单独的文本视图。然后你可以保证你想要的对齐方式。
-
@TimBiegeleisen 现在,我将每个文本视图都放在等号右侧,以包裹内容。我想我必须设置一个静态宽度来确保这一点。不想这样做,因为空间因设备大小而异。
标签: java android string-formatting decimalformat