我正在开发一个向印度和美国经理提供数据的应用程序。
我想根据显示的货币显示西式逗号分隔(000,000,000)或印度风格(00,00,00,000)的数字。我不想使用localize,因为无论在哪个区域观看,都需要始终如一地显示数字。
就我的目的而言,每种情况下的最后三个零都可以被删除,这样我就可以在每个三分之一或第二个字符处使用逗号,从最后开始工作。
我从这样的事情开始:
def commas(str, format="US"):
if format == "IN":
x = 2
elif format == "US":
x = 3
new_str = ','.join(str[i:i+x] for i in range(0, len(str), x))
return new_str
这会输出如下数字:815,532,89
。有没有办法扭转这种情况,以便我可以正确渲染它?
答案 0 :(得分:1)
您可以将逗号应用于反向字符串,然后再将其反转:
def commas(str, format="US"):
if format == "IN":
x = 2
elif format == "US":
x = 3
rev = str[::-1]
new_str = ','.join(rev[i:i+x] for i in range(0, len(rev), x))[::-1]
return new_str