【发布时间】:2017-06-13 05:53:07
【问题描述】:
我正在开发一个向印度和美国经理提供数据的应用程序。
我想根据所显示的货币以西式逗号分隔 (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。有没有办法扭转这种情况,以便我可以让它正确渲染?
【问题讨论】:
-
如果 '{:03}'.format(x) 满足您的需求(其中 x 是数字),请尝试。
-
我无法让它工作。
-
this answer 中的信息可能会有所帮助。
-
啊,好吧,看来我必须设置一些本地化才能使用它?我试图避免这样做,因为我想同时使用这两种格式并让它们在不同地区保持一致