人数=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
您可以将其转换为字符串,然后每两步添加逗号即可:
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