当前位置: 首页 > news >正文

【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会对小数部分做精度限制,同时:?

会对小数部分做四舍五入

http://www.lryc.cn/news/446054.html

相关文章:

  • C++第一次练习
  • 计算机毕业设计 基于Python的医疗预约与诊断系统 Django+Vue 前后端分离 附源码 讲解 文档
  • JAVA基础:正则表达式,String的intern方法,StringBuilder可变字符串特点与应用,+连接字符串特点
  • 前端接口报错302 [已解决]
  • 【网络安全】利用未授权API接口实现创建Support Ticket
  • 气压高度加误差的两种方法(直接添加 vs 换算到气压误差),附MATLAB程序
  • Word 制作会议名牌教程
  • 浮动静态路由
  • JavaWeb初阶 day1
  • OpenAPI鉴权(二)jwt鉴权
  • 【Rust练习】16.模式
  • 深度学习(4):torch.nn.Module
  • (14)关于docker如何通过防火墙做策略限制
  • 新React开发人员应该如何思考
  • 解密.bixi、.baxia勒索病毒:如何安全恢复被加密数据
  • 开源 AI 智能名片与 S2B2C 商城小程序:嫁接权威实现信任与增长
  • S-Clustr-Simple 飞机大战:骇入现实的建筑灯光游戏
  • MySQL:存储引擎简介和库的基本操作
  • JavaScript类型判断(总结)
  • SpringBoot之登录校验关于JWT、Filter、interceptor、异常处理的使用
  • 我的AI工具箱Tauri版-FunAsr音频转文本
  • C++:模版初阶
  • Python Web 与区块链集成的最佳实践:智能合约、DApp与安全
  • 使用工具将截图公式转换为word公式
  • 深度学习(6):Dataset 和 DataLoader
  • Qt窗口——QToolBar
  • MySQL—存储过程详解
  • 2024ICPC网络赛2记录:CK
  • PerparedStatement概述
  • 联影医疗嵌入式面试题及参考答案(3万字长文)