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 に答える