- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道例如 "{:,}".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/
我正在使用报表查看器控件 (rdlc) 生成报表。我的一列表示来自 SQL 数据库的十进制值,例如: 5199.9800 在此列的末尾,汇总了所有金额。因此,金额行以这种方式表示: =Fields!
我在这段代码中尝试用以下模式替换引号 (') 的千位分隔符 (.):###'###,## import java.text.*; public class NumberFormatTests
对于具有财务计算的网站,我尝试将包含在 HTML 输入字段中的每个数字转换为 xxx,xxx,xxx.xx 格式,其中千位分隔符为逗号,小数点为小数点。与我们从 Excel 中了解到的类似。 现在是挑
有没有一种方法可以使用字符串格式化程序将 Thousands、Millions、Billions 格式化为 123K、123M、123B 而无需更改代码以将值除以 Thousand、Million 或
我是一名优秀的程序员,十分优秀!