使用.format()格式化一个字符串,将浮点数转换成美元,并在python中左对齐

时间:2018-02-12 16:42:55

标签: python string-formatting string.format

我正在尝试使用money = 1243432.6 将浮动转换为美元金额。我完成了这项任务,但是,我遇到了一个重大问题。我在美元符号和值之间得到空格。有没有办法让字段长度(字段的宽度)保持不变,并且数字旁边有“$”,无论数字长度如何?

这就是我的尝试:

Screenshot of my console

'${:>,.2f}'.format(money)
  1. '$1,243,432.60'
    输出:'${:>10,.2f}'.format(money)

  2. '$ 1,243,432.60'
    输出:'${:>20,.2f}'.format(money)

  3. '$ 1,243,432.60'
    输出:items

2 个答案:

答案 0 :(得分:2)

您可以使用str.format()方法执行此操作,如下所示:

float_ = 1976.25
print('${:.2f}'.format(float_))

参数.2f强制格式化方法在该点之后仅显示两位小数。

您可以通过稍微更改来显示代表数千的逗号:

print('${:,.2f}'.format(float_))

答案 1 :(得分:0)

以下是您可能会发现有用的示例。

amounts = [1.234, 20.3, 100.19999]
for a in amounts:
    print("${:0.2f}".format(a))
#$1.23
#$20.30
#$100.20

有关格式规范的更多信息,请参见here in the docs