首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python中的货币格式

Python中的货币格式
EN

Stack Overflow用户
提问于 2008-11-26 22:43:33
回答 12查看 225.2K关注 0票数 184

我希望使用Python将一个像188518982.18这样的数字格式化为to 188,518,982.18。

我该怎么做呢?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2008-11-26 14:50:59

请参阅locale模块。

这将进行货币(和日期)格式化。

代码语言:javascript
复制
>>> 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'
票数 252
EN

Stack Overflow用户

发布于 2010-08-03 13:20:22

2.7中的新特性

代码语言:javascript
复制
>>> '{:20,.2f}'.format(18446744073709551616.0)
'18,446,744,073,709,551,616.00'

http://docs.python.org/dev/whatsnew/2.7.html#pep-0378

票数 104
EN

Stack Overflow用户

发布于 2012-01-13 21:17:00

不太确定为什么在网上(或在这个帖子上)没有提到它,但是Edgewall guys的Babel包(和Django实用程序)对于货币格式化(和许多其他i18n任务)来说是非常棒的。它很好,因为它不需要像核心Python locale模块那样在全局范围内做所有事情。

该操作给出的示例很简单:

代码语言:javascript
复制
>>> import babel.numbers
>>> import decimal
>>> babel.numbers.format_currency( decimal.Decimal( "188518982.18" ), "GBP" )
£188,518,982.18
票数 56
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/320929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档