在Python3版本前提下 。实现数字格式化最最最常用的是format方法一、format语法
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U24B9-0.jpg)
文章插图
● 语法:
格式化字符串的函数 str.format() 。返回字符串类型
●其中 str的基本语法是通过 {} 和 : 来代替以前的 %
: 号后面带填充的字符
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U2AE-1.jpg)
文章插图
简称:填齐度 。隔精类
二、Python实例说明
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U224T-2.jpg)
文章插图
● 保留小数点后两位
print(\"{:.2f}\".format(3.1415926))# 输出结果是:3.14
● 带符号保留小数点后两位
# + 表示在正数前显示 + 。负数前显示 - print(\"{:+.2f}\".format(3.1415926))# 输出结果是:+3.14print(\"{:+.2f}\".format(-3.1415926))# 输出结果是:-3.14
● 不带小数
print(\"{:.0f}\".format(3.1415926))# 输出结果是:3
● 数字补零 (填充左边, 宽度为2)
# ^, <, > 分别是居中、左对齐、右对齐 。后面带宽度print(\"{:0>2d}\".format(3))# 输出结果是:03
● 数字补x (填充右边, 宽度为11)
print(\"{:x<11d}\".format(1552742))# 输出结果:1552742xxxx
● 以逗号分隔的数字格式
print(\"{:,}\".format(1000228))# 输出结果:1,000,228
● 百分比格式
print(\"{:.2%}\".format(0.258))# 输出结果:25.80%
● 指数记法
print(\"{:.2e}\".format(1200))#输出结果: 1.20e+03
● 进制转换
b、d、o、x 分别是二进制、十进制、八进制、十六进制
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U2KX-3.jpg)
文章插图
三、展望合理利用format函数 。在Python处理字符串时将如履平地 。赶紧get这个Python小技巧吧 。
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U250H-4.jpg)
文章插图
其他观点:
从Python 3.6开始 。引入F-string 格式化字符串新语法 。它相对于 %-formatting、 str.format() 格式化方式 。它不仅更易读 。更简洁 。不易出错 。而且速度更快 。我们就以F-string 来介绍如何格式化数字 。
F-string 采用 {content:format} 的形式设置字符串格式 。采用默认格式时则不需要指定 {:format} 。其中 content 是替换并填入字符串的内容 。可以是变量、表达式或函数等 。format 是格式描述符 。
接下来我们介绍一下数字的自定义格式 。包含对齐、宽度、符号、补零、精度、进制等 。
对齐格式描述符
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U24V8-5.jpg)
文章插图
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U2O33-6.jpg)
文章插图
数字符号格式描述符
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U22303-7.jpg)
文章插图
代码示例如下:
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U230J-8.jpg)
文章插图
宽度与精度格式描述符
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U23461-9.jpg)
文章插图
0width格式描述符不能用于复数和非数值类型 。width.precision格式描述符不能用于整数类型 。
width.precision格式描述符可以用于不同格式类型的浮点数、复数时的含义不同:用于 f、F、e、E 和 % 时 。precision 指定的是小数点后的位数 。用于 g 和 G 时 precision 指定的是有效数字位数(小数点前位数+小数点后位数) 。
width.precision 除浮点数、复数外还可用于字符串 。此时 precision 含义是只使用字符串中前 precision 位字符 。
基本格式类型如下:
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U2J22-10.jpg)
文章插图
代码示例如下:
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U2NZ-11.jpg)
文章插图
千位分隔符格式描述符
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U2MZ-12.jpg)
文章插图
若不指定','。则F-string将不使用任何千位分隔符 。此为默认设置 。',' 仅适用于浮点数、复数与十进制整数 。对于浮点数和复数 。分隔的是小数点前的数位 。
![Python中如何实现数字的格式化输出?](http://img.readke.com/230710/034U26135-13.jpg)
文章插图
其他观点:
格式化输出单个数字的时候 。可以使用内置的函数 。比如:
>>> x = 1234.56789
>>> # Two decimal places of accuracy
>>> format(x, '0.2f') #无空格 。小数保留2位
'1234.57'
>>> # Right justified in 10 chars, one-digit accuracy
【Python中如何实现数字的格式化输出?】>>> format(x, '>10.1f') #数字输出靠右 。总计长度为10 。小数保留1位
推荐阅读
- 山西前首富李兆会被上海法院悬赏2100万元,你怎么看?
- 2023年春节档的电影 2023春节档上映的电影有哪些
- 请问您怎样评价温铁军?
- 带上飞机的行李有什么要求
- 520如何用Python向心爱的女孩表白呢?
- 长脸适合什么眉形 适合长脸的眉形效果图
- 男人长期吃花粉副作用 男人长期吃花粉治疗性功能吗
- 蔡振华近况如何?
- 初学python,需要打印一个love,没有思路,如何实现打印这个图形?