如何使用以下要求将浮动数字格式化为固定宽度:
例如:
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
Run Code Online (Sandbox Code Playgroud)
输出就像
23.2300
0.1233
1.0000
4.2230
9887.2000
Run Code Online (Sandbox Code Playgroud) 我想用Python将188518982.18这样的数字格式化为188,518,982.18英镑.
我怎样才能做到这一点?
如何Decimal使用区域设置格式化?
为了通过示例来描述,我正在尝试定义一个函数f,使其在美国英语语言环境中:
f(Decimal('5000.00')) == '5,000.00'
f(Decimal('1234567.000000')) == '1,234,567.000000'
有些事情不起作用:
f = str 不使用区域设置; f(Decimal('5000.00')) == '5000.00'
f = lambda d: locale.format('%f', d) 不保留小数精度; f(Decimal('5000.00')) == '5000.000000'
f = lambda d: locale.format('%.2f', d) 使用固定的精度,这不是我追求的; f(Decimal('1234567.000000')) == '1234567.00'