Python:数字的格式化输出

>>> 'The value is {:0,.2f}'.format(x)
'The value is 1,234.57'

需要将数字格式化后输出,并控制数字的位数、对齐、千位分隔符和其他的细节。

1. 最简单的控制小数位数

>>> x = 1234.56789
>>> # Two decimal places of accuracy
>>> format(x, '0.2f')
'1234.57'

2. 右对齐,总共10位,1位小数

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> format(x, '>10.1f')
'    1234.6'
 
>>> format(x, '10.1f')
'    1234.6'

3. 左对齐,总共10位,1位小数

>>> format(x, '<10.1f')
'    1234.6'

4. 放中间,总共10位,1位小数

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> format(x, '^10.1f')
' 1234.6 '
 
>>> format(x, '^10.2f')
' 1234.67  '

5. 千位符号

>>> format(x, ',')
'1,234.56789'
>>> format(x, '0,.1f')
'1,234.6

6. 指数计数法

>>> format(x, 'e')
'1.234568e+03'
>>> format(x, '0.2E')
'1.23E+03'

7. 例子

>>> 'The value is {:0,.2f}'.format(x)
'The value is 1,234.57'
 

8. 千位符translate

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> swap_separators = { ord('.'):',', ord(','):'.' }
>>> format(x, ',').translate(swap_separators)
'1.234,56789'

9. %

>>> '%0.2f' % x
'1234.57'
>>> '%10.1f' % x
' 1234.6'
>>> '%-10.1f' % x
'1234.6 '

这种格式化方法也是可行的,不过比更加先进的format() 要差一点。比如,在使
用% 操作符格式化数字的时候,一些特性(添加千位符) 并不能被支持。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值