Python中的数千个分隔符

Thousands Separator in Python

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
how to print number with commas as thousands separators in Python 2.x

是否有人知道一个更容易的方法使数字有数千个分离比这:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def addComma(num):
    (num, post) = str(num).split('.')
    num = list(num)
    num.reverse()

    count = 0
    list1 = []

    for i in num:
        count += 1
        if count % 3 == 0:
            list1.append(i)
            list1.append(',')
        else:
            list1.append(i)

    list1.reverse()

    return ''.join(list1).strip(',') + '.' + post

它起作用了,但看起来很脆弱…


locale.format()grouping=True配合使用

1
2
3
4
5
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC, 'en_US')
'en_US'
>>> locale.format("%d", 1234567, grouping=True)
'1,234,456'

有关详细信息,请参阅http://docs.python.org/library/locale.html locale.format。