【问题标题】:Custom Comma Separators?自定义逗号分隔符?
【发布时间】: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 中的信息可能会有所帮助。
  • 啊,好吧,看来我必须设置一些本地化才能使用它?我试图避免这样做,因为我想同时使用这两种格式并让它们在不同地区保持一致

标签: python string


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    相关资源
    最近更新 更多