【发布时间】:2019-03-10 18:02:09
【问题描述】:
简单的任务:
number = 100123.44
number_formated = "100,123"
别告诉我没有比这更好的办法了:
number_formated = "{:,}".format(int(format("{:.0f}".format(number))))
?
【问题讨论】:
-
"{:,}".format(int(number))
简单的任务:
number = 100123.44
number_formated = "100,123"
别告诉我没有比这更好的办法了:
number_formated = "{:,}".format(int(format("{:.0f}".format(number))))
?
【问题讨论】:
要获取以, 作为千位分隔符的整数作为整数,请使用以下格式字符串:
number_formated = "{:,.0f}".format(number)
无需嵌套两次调用并将结果字符串再次转换为 int。
【讨论】:
您可以直接在您的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。
你可以用这个
formatted_number = "{:,}".format(number)
【讨论】:
, 正确打印为千位分隔符,但不会删除小数位。