自定义逗号分隔符?

时间:2017-01-27 14:06:38

标签: python string

我正在开发一个向印度和美国经理提供数据的应用程序。

我想根据显示的货币显示西式逗号分隔(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。有没有办法扭转这种情况,以便我可以正确渲染它?

1 个答案:

答案 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