Python进阶之路 5.2.5 字段宽度、精度和千位分隔符

5.2.5 字段宽度、精度和千位分隔符

使用类型符f格式化浮点数时,默认在小数点后会保留6位数。其实,使用format方法也可以让该格式化数值的整数部分占用一个固定的位数,也可以看作控制字段的宽度。例如,使用{num:10}格式化一个数值,可以让该数值靠右对齐,如果数值的长度(整数部分+小数点+小数部分的长度)不足10位,那么左边会保留空格。当然,如果数值的长度超过了10位,就会按原样显示。

format方法同样也可以控制一个浮点数显示的小数位数,也就是数值的精度。例如,使用{pi:.2f}可以让pi指定的浮点数保留2位小数,这种格式与格式化运算符(%)类似。

还可以使用{num:10.2f}让num指定的数值即保留2位小数,又可以左对齐,不足10位左侧补空格。

最有一个问题就是千位分隔符(,),对于一个特别长的数值,如果不使用千位分隔符对数值进行分隔,那么久需要一位一位的数了。如果使用{:,}格式化一个数值,那么format方法就会为该数值的整数部分加上千位分隔符。

[例 5.7] 本例通过format方法将数值的宽度设为12,将字符串的宽度设为10,这样数值和字符串前面都会补空格了(如果长度不足的话)。然后让圆周率PI保留小数点后2位,并且设置PI显示的宽度为10.再将精度设置应用于字符串中,相当于截取字符串前面n个字符。最后,用千位分隔符显示一个非常大的整数googol。

print('{num:12}'.format(num=55))
#设置55的显示宽度为12,也就是说,55的左侧会有10个空格
#输出结果:          55

print('{name:10}Gates'.format(name='Bill'))
#将Bill的显示宽度设置为10,对于字符串来说,是右补空格,也就是说,Bill右侧会显示6个字符
#输出结果:Bill      Gates

#从math模块导入pi
from math import pi
#让圆周率pi保留2位小数
print('float number:{pi:.2f}'.format(pi=pi))
#输出结果:float number:3.14

print('float number:{pi:10.2f}'.format(pi=pi))
#让圆周率pi保留2位小数的同时,整个宽度设为10,如果不足10位,会左补空格
#输出结果:float number:      3.14

print('{:.5}'.format('Hello World'))
#将精度应用于字符串,{:.5}表示截取"Hello World"的前5个字符
#输出结果:Hello

print('One googol is {:,}'.format(10 ** 10))
#用千位分隔符输出10 ** 100
#输出结果:One googol is 10,000,000,000

输出结果:

          55
Bill      Gates
float number:3.14
float number:      3.14
Hello
One googol is 10,000,000,000
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值