【python】字符串扩展-格式化的精度控制

字符串扩展

  • 字符串的三种定义方式
  • 字符串拼接
  • 字符串格式化
  • 格式化的精度控制
  • 字符串格式化方式2
  • 对表达式进行格式化

学习目标

  1. 掌握格式化字符串的过程中做数字的精度控制

字符串格式化

name = "小明"
set_up_year = 2006
stock_price = 19.99
message = "我是:%s,我公司成立于:%d,我公司今天的股价是:%f" % (name, set_up_year, stock_price)
print(message)

输出结果:

我是:小明,我公司成立于:2006,我公司今天的股价是:19.990000

细心的同学可能会发现:
浮点数 19.99,变成了 19.990000 输出
这里我们要讲解一下,字符串格式化 之 数字精度控制

字符串格式化 - 数字精度控制

我们可以使用辅助符号 “m.n” 来控制数据的宽度和精度

  • m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
  • n,控制小数点精度,要求是数字,会进行小数的四舍五入

示例:

  • %5d:表示将整数的宽度控制在 5 位,如数字 11,被设置为 5d ,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
  • %5.2f:表示将宽度控制为 5,将小数点精度设置为 2
    小数点和小数部分也算入宽度计算。如:对 11.345 设置了 %7.2f 后,结果是:[空格][空格]11.35。2 个空格补足宽度,小数部分限制 2 位精度后,四舍五入为 .35
  • %.2f:表示不限制宽度,只设置小数点精度为 2,如 11.345 设置 %.2f 后,结果是 11.35

字符串格式化 - 数字精度控制

num1 = 11
num2 = 11.345
print("数字 11 宽度限制 5,结果:%5d" % num1)
print("数字 11 宽度限制 1,结果:%1d" % num1)
print("数字 11.345 宽度限制 7,小数精度 2,结果:%7.2f" % num2)
print("数字 11.345 不限制宽度,小数精度 2,结果:%.2f" % num2)

输出结果:

数字 11 宽度限制 5,结果: 11
数字 11 宽度限制 1,结果:11
数字 11.345 宽度限制 7,小数精度 2,结果: 11.35
数字 11.345 不限制宽度,小数精度 2,结果:11.35

第一行:宽度 5,补了 3 个空格
第二行:宽度小于数字本身,无影响
第三行:宽度 7,补了 2 个空格,小数精度 2,四舍五入后为 .35
第四行:不限制宽度,小数点后四舍五入后为 .35

总结:

  1. 精度控制的语法:

m.n 的形式,如 %5d%5.2f%.2f
m.n 均可省略

  1. 如果 m 比数字本身宽度小,会发生什么事?

m 不生效

  1. .n会对小数部分做精度限制,同时:?

会对小数部分做四舍五入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值