gpt4 book ai didi

python - 如何在 python 中打印带有细空格字符作为千位分隔符的数字?

转载 作者:太空宇宙 更新时间:2023-11-04 09:43:42 27 4
gpt4 key购买 nike

我知道例如 "{:,}".format(123456789) 将打印 '123,456,789' 作为 python 的输出。

但是,我希望使用细空格字符作为千位分隔符而不是逗号。根据 here ,瘦空格字符的 python 源编码是 u"\u2009"。

所以我尝试用 u"\u2009"替换 "{:,}"中的逗号,但这会导致语法错误。这可能是因为 python 无法处理生成的嵌套双引号,需要对某些内容进行转义。

那么有没有办法让这个或其他机制起作用?顺便说一句,我也想取消出现在输出中的单引号。

最佳答案

您可以使用 str 中的 replace 方法在格式化后用细空格替换 ,,即:"{: ,}".format(123456789).replace(",", u"\u2009")

根据官方文档here,只有_可以作为分隔符。要使用用户定义的,您需要使用 n 表示,并更改您的 locale 设置(请参阅 https://docs.python.org/3/library/locale.html#locale.LC_NUMERIC )。您可以创建一个新的本地化并使用这个伪造的本地化来满足您的需求,但这是一个相当复杂的解决方案。

编辑:所谓虚假本地化,我的意思是您计算机中的新语言环境,而不是 Python 中的语言环境。您可以阅读 https://askubuntu.com/questions/653008/how-to-create-a-new-system-locale 了解更多详细信息(我认为这可以适用于大多数发行版)

关于python - 如何在 python 中打印带有细空格字符作为千位分隔符的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50674147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com