方法:1、用字符串格式化,语法“print("%.2f" % a)”;2、用round内置函数,语法“round(a, 2)”;3、用decimal模块,语法“Decimal(a).quantize(Decimal("0.00"))”;4、用序列切片,语法“str(a).split('.')[0]+'.'+str(a).split('.')[1][:2]”;5、用re模块。
本教程操作环境:windows7系统、python3版,DELL G3电脑
很多小伙伴在学习python的时候可能会遇到对数据进行格式化输出的需求,其中最常见的需求为:保留几位小数。今天本篇文章就以python怎么保留两位小数为例,来介绍一下python数据格式化的方法。
使用字符串格式化
大部分语言都可以使用字符串格式化的方法来实现保留两位小数的效果,python也不例外:
a = 12.345 print("%.2f" % a) # %代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型
登录后复制
使用round内置函数
python内置了一个名为round的函数,这个函数可以用来对数据进行格式化。代码如下:
a = 12.345 a1 = round(a, 2) #将a通过round函数处理后赋值给a1,传入的2代表保留两位小数 print(a1)
登录后复制
使用decimal模块
类似于java,python也专门提供了一个decimal模块用于精确运算,它也可以进行数据的格式化输出。代码如下:
from decimal import Decimal a = 12.345 Decimal(a).quantize(Decimal("0.00")) # 使用默认的进位方式(同round)“0.00”表示保留小数点后两位
登录后复制
注:python的round采用的进位方式比较特殊,有点类似于四舍五入,但准确的来说应该叫四舍六入五成双。有兴趣的小伙伴可以了解一下数值修约和基进偶舍。