3

可能重复:
如何在 Python 2.x 中用逗号打印数字作为千位分隔符

有谁知道比这更简单的方法来使数字具有数千个分隔符:

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

它有效,但它似乎真的很脆弱......

4

1 回答 1

3

locale.format()与_grouping=True

>>> 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

于 2012-04-09T20:17:03.643 回答