一、Python 字符串格式化
1、浮点数精度问题
在上一篇博客 【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 ) 中 , 拼接字符串中 , float 浮点类型出现如下情况 , 小数点后有 6 位 ;
代码示例 :
# 不通过类型的占位符
name = "Tom"
age = 18
money = 88.88
info = "%s is %d years old, has %f dollors" % (name, age, money)
print(info)
执行结果 :
Tom is 18 years old, has 88.880000 dollors
2、浮点数精度控制
使用 辅助符号 " m.n " 可以控制数据的 宽度 和 精度 ;
- m 用于控制宽度 , 如果 设置的 宽度 小于 数字本身的宽度 , 该设置不生效 ;
- n 用于控制小数点的精度 , 最后一位会进行四舍五入 ;
浮点数精度控制示例 :
-
设置宽度 :
%3d
用于设置宽度为 3 位 , 如果数字为 1 , 其被设置了 3 位的宽度 , 在打印时 , 会在 1 前面添加两个空格 ;-
1
打印时为[空格][空格]1
, 前面加了 2 个空格 , 构成 3 位 ;
-
-
设置宽度和精度 :
%7.2f
用于设置整体宽度为 7 ( 包含小数点 ) , 小数部分为 2 位 ;-
1
打印时为[空格][空格][空格]1.00
, 前面加了 3 个空格 , 构成 7 位 ;
-
-
设置精度 :
%.3f
用于设置小数点后 3 位精度 , 数字的宽度有几位不进行限定 ;-
1
打印时为1.000
;
-
代码示例 :
# 数字精度控制
num = 1
# 设置宽度
print("数字 1 宽度 5 : %5d" % num)
num = 1.01
# 设置 宽度 + 精度
print("数字 1.01 宽度 5 : %5.2f" % num)
# 设置精度
print("数字 1.01 精度 1: %.1f" % num)
执行结果 :文章来源:https://www.toymoban.com/news/detail-413063.html
数字 1 宽度 5 : 1
数字 1.01 宽度 5 : 1.01
数字 1.01 精度 1: 1.0
文章来源地址https://www.toymoban.com/news/detail-413063.html
到了这里,关于【Python】字符串 ④ ( Python 浮点数精度控制 | 控制数字的宽度和精度 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!