python如何保留两位小数
这篇文章主要介绍“python如何保留两位小数”,在日常操作中,相信很多人在python如何保留两位小数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python如何保留两位小数”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
使用字符串格式化大部分语言都可以使用字符串格式化的方法来实现保留两位小数的效果,python也不例外:
a=12.345print("%.2f"%a)#%代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型使用round内置函数
python内置了一个名为round的函数,这个函数可以用来对数据进行格式化。代码如下:
a=12.345a1=round(a,2)#将a通过round函数处理后赋值给a1,传入的2代表保留两位小数print(a1)使用decimal模块
类似于java,python也专门提供了一个decimal模块用于精确运算,它也可以进行数据的格式化输出。代码如下:
fromdecimalimportDecimala=12.345Decimal(a).quantize(Decimal("0.00"))#使用默认的进位方式(同round)“0.00”表示保留小数点后两位
注:python的round采用的进位方式比较特殊,有点类似于四舍五入,但准确的来说应该叫四舍六入五成双。有兴趣的小伙伴可以了解一下数值修约和基进偶舍。
以上就是常规的保留两位小数的方法,接下来介绍两种非常规的方法(使用字符串处理的方法,这种方法仅保留两位小数,不做四舍五入)
使用序列切片原理很简单,只要找到小数点,然后进行切片即可。代码如下:
a = 12.345str(a).split('.')[0] + '.' + str(a).split('.')[1][:2] #使用序列切片的方式,切出小数点前的数据,还有小数点后两位的数据,然后进行拼装
使用re模块
类似于切片,不过这次使用正则匹配来定位小数点位置。
import rea = 12.345re.findall(r"\d{1,}?\.\d{2}", str(a)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出来
到此,关于“python如何保留两位小数”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。