python给数字加千分位,每隔三位加逗号,python千分,如题,注意是不支持负数。


如题,注意是不支持负数。

def group(n, sep = ','):    s = str(abs(n))[::-1]    groups = []    i = 0    while i < len(s):        groups.append(s[i:i+3])        i+=3    retval = sep.join(groups)[::-1]    if n < 0:        return '-%s' % retval    else:        return retval

我想一定有更好的办法实现,不过上面的实现方法很简单,就懒得再想起他办法了,如下使用示例:

    >>> group(42)    '42'    >>> group(4242)    '4,242'    >>> group(42424242)    '42,424,242'    >>> group(42424242, "'")    "42'424'242"    >>> group(-424)    '-424'

评论关闭