【问题标题】:Python number with 1000 Separator [duplicate]带有 1000 个分隔符的 Python 编号 [重复]
【发布时间】:2019-03-10 18:02:09
【问题描述】:

简单的任务:

number = 100123.44
number_formated = "100,123"

别告诉我没有比这更好的办法了:

number_formated = "{:,}".format(int(format("{:.0f}".format(number))))

?

【问题讨论】:

  • "{:,}".format(int(number))

标签: python numbers format


【解决方案1】:

要获取以, 作为千位分隔符的整数作为整数,请使用以下格式字符串:

number_formated = "{:,.0f}".format(number)

无需嵌套两次调用并将结果字符串再次转换为 int。

【讨论】:

    【解决方案2】:

    您可以直接在您的number 上调用int 而无需格式化:

    number_formatted = "{:,}".format(int(number))
    

    如果你使用 Python 3.6 或更高版本,你可以使用f-strings

    number_formatted = f'{int(number):,}'
    

    编辑:使用Christian König 答案我们可以删除int 调用:

    number_formatted = f"{number:,.0f}"
    

    【讨论】:

    • 请注意,int(number) 截断十进制数字,而 f"{number:,.0f}" 舍入。 int(1.9) 提供1,但f"{1.9:,.0f}" 提供2
    【解决方案3】:

    你可以用这个 formatted_number = "{:,}".format(number)

    【讨论】:

    • 虽然这会将, 正确打印为千位分隔符,但不会删除小数位。
    猜你喜欢
    • 2018-05-08
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2017-04-25
    • 2021-08-30
    • 2014-06-03
    相关资源
    最近更新 更多