如何使用Python打印使用逗号作为百位分隔符的数字?

问题描述 投票:0回答:1

人数=987756 ... #输出98,77,56

人数=20787 …… #输出2,07,87

我怎样才能得到它?

can python format function thousand separator to hundred separator  ?

我的代码如下,任何人都可以使用另一种方法,例如“{:,}”.format

num=85358
sep=2 # 2=100 3=1000
j,m,n=1,[],""
for i in str(num)[::-1]:
    if j==sep:
        n=i+n
        m.append(n)
        n,j="",0
    else:
        n=i+n
        
    j+=1
else:
    if len(str(num))%2:
        m.append(n)        
    print(",".join(m[::-1]))

#输出:-8,53,58

python format
1个回答
0
投票

您可以将其转换为字符串,然后每两步添加逗号即可:

def _format_number(num, sep=2):
    num_str = str(num)[::-1]
    parts = [num_str[i:i + sep] for i in range(0, len(num_str), sep)]
    formatted = ",".join(parts)[::-1]
    return formatted


nums = [987756, 20787, 85358, 10381083, 134701273]
for num in nums:
    print(_format_number(num))
    print(_format_number(num, 3))

打印

98,77,56
987,756
2,07,87
20,787
8,53,58
85,358
10,38,10,83
10,381,083
1,34,70,12,73
134,701,273

© www.soinside.com 2019 - 2024. All rights reserved.