python中怎样保留两位小数
2023-04-10 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
1、使用字符串格式化
大部分语言都可以使用字符串格式化的方法来实现保留两位小数,Python也不例外。
a = 12.345
print("%.2f" % a) #%代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型
2、使用round内置函数
Python内置了一个名为round的函数,这个函数可以用来对数据进行格式化。
a = 12.345
a1 = round(a,2) #将a通过round函数处理后赋值给a1,传入的2代表保留两位小数
print(a1)
3、使用decimal模块
类似于Java,Python也专门提供了一个decimal模块用于精确运算,它也可以进行数据的格式化输出。
from decimal import Decimal
a = 12.345
Decimal(a).quantize(Decimal("0.00")) # 使用默认的进位方式(同round)"0.00"表示保留小数点后两位
注意:Python的round采用的进位方式比较特殊,有点类似于四舍五入,但准确的来说应该叫四舍六入五成双。
以上就是常规的保留两位小数的方法,接下来介绍两种非常规的方法。
4、使用序列切片
原理很简单,只要找到小数点,然后进行切片即可。
a = 12.345
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2]
#使用序列切片的方式,切出小数点前的数据,还有小数点后两位的数据,然后进行拼装
5、使用re模块
类似于切片,不过这次使用正则匹配来定位小数点位置。
import re
a = 12.345
re.findall(r"\d{1,}?\.\d{2}", str(a)) #使用正则匹配,将符合规则字符串片段取出