在 python 中是否有一种简单的方法可以用逗号格式化数字,即 11222.33 将打印为:$11,222.33。
目前我正在做类似的事情:
def formatMoney(number):
res = str(number)
# Number of digits before decimal
n = res.find('.')
n = n if (n >= 0) else len(res)
if n < 4:
return res[:n+3]
# Location of first comma
start = n % 3
start = start if (start > 0) else 3
# Break into parts
parts = [res[:start]]
parts += [res[i:i+3] for i in range(start, n - 3, 3)]
# Last part includes 3 digits before decimal and 2 after
parts += [res[n-3:n+3]]
return ",".join(parts)
但我觉得我必须在这里重新发明轮子。我错过了标准库中的一个包,还是一个更明显的方法?