如何简单地给一个整数添加逗号?

24 浏览
0 Comments

如何简单地给一个整数添加逗号?

这个问题已经有了答案:

可能是重复的:

如何在Python中用逗号作为千位分隔符打印数字?

例如:

>> print numberFormat(1234)
>> 1,234

或者Python中有没有内置函数可以做到这一点?

admin 更改状态以发布 2023年5月21日
0
0 Comments

locale.format()

不要忘记先适当设置语言环境。

0
0 Comments

到目前为止,还没有人提到在版本2.7中添加的新选项“`,`” ,它可以在格式说明迷你语言中使用——请参见PEP 378:千位分隔符格式说明符Python 2.7文档的新功能中。因为你不必搞乱语言环境(但由于这个功能对国际化的限制,参见原始PEP 378),所以很容易使用。它适用于浮点数、整数和十进制数——以及在迷你语言规范中提供的所有其他格式化特性。\n\n用法示例:\n\n

print format(1234, ",d")    # -> 1,234
print "{:,d}".format(1234)  # -> 1,234
print(f'{1234:,d}')         # -> 1,234 (Python 3.6+)

\n\n注意:虽然此新功能确实很方便,但实际上使用locale模块并不比使用此功能更困难,正如其他许多人建议的那样。它的优点是,当输出数字、日期和时间等内容时,可以使数字输出自动遵循各个国家使用的适当千位(和其他)分隔符约定。还可以很容易地启用计算机的默认设置,无需学习大量的语言和国家代码。你只需要做以下事情:\n\n

import locale
locale.setlocale(locale.LC_ALL, '')  # empty string for platform's default settings

\n\n这样做后,你只需使用通用的\'n\'类型代码即可输出数字(整数和浮点数)。在我所在的地方,逗号被用作千位分隔符,所以在上述设置语言环境后,会出现以下情况:\n\n

print format(1234, "n")    # -> 1,234
print "{:n}".format(1234)  # -> 1,234

\n\n世界其他地区大部分都使用句号而不是逗号来分隔千位数,因此在许多位置设置默认语言环境(或在setlocale()调用中显式指定这样一个区域的代码)会产生以下结果:\n\n

print format(1234, "n")    # -> 1.234
print "{:n}".format(1234)  # -> 1.234

\n\n基于格式类型说明符\'d\'\',d\'的输出不受使用(或不使用)setlocale()的影响。但是,如果你使用locale.format()locale.format_string()函数,则\'d\'说明符受到影响。

0