我希望使用Python将一个像188518982.18这样的数字格式化为to 188,518,982.18。
我该怎么做呢?
发布于 2008-11-26 14:50:59
请参阅locale模块。
这将进行货币(和日期)格式化。
>>> import locale
>>> locale.setlocale( locale.LC_ALL, '' )
'English_United States.1252'
>>> locale.currency( 188518982.18 )
'$188518982.18'
>>> locale.currency( 188518982.18, grouping=True )
'$188,518,982.18'
发布于 2010-08-03 13:20:22
2.7中的新特性
>>> '{:20,.2f}'.format(18446744073709551616.0)
'18,446,744,073,709,551,616.00'
发布于 2012-01-13 21:17:00
不太确定为什么在网上(或在这个帖子上)没有提到它,但是Edgewall guys的Babel包(和Django实用程序)对于货币格式化(和许多其他i18n任务)来说是非常棒的。它很好,因为它不需要像核心Python locale模块那样在全局范围内做所有事情。
该操作给出的示例很简单:
>>> import babel.numbers
>>> import decimal
>>> babel.numbers.format_currency( decimal.Decimal( "188518982.18" ), "GBP" )
£188,518,982.18
https://stackoverflow.com/questions/320929
复制相似问题