Python如何取小数点位数
Posted M_派森
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python如何取小数点位数相关的知识,希望对你有一定的参考价值。
简单介绍
在写一个数据平台的时候,发现需要进行通过率的统计,所以不可避免的出现小数的情况。至此,会出现无限小数,那么如何进行取舍呢?
实际操作
可以使用decimal模块,decimal意思为十进制,这个模块提供了十进制浮点运算支持。
常用方法
1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。
2.要从浮点数据转换为Decimal类型
from decimal import *
Decimal.from_float(12.222)
# 结果为Decimal(\'12.2219999999999995310417943983338773250579833984375\')
3.通过设定有效数字,限定结果样式:
from decimal import *
getcontext().prec=6
Decimal(1)/Decimal(7)
# 结果为Decimal(\'0.142857\'),六个有效数字
4.四舍五入,保留几位小数
from decimal import *
Decimal(\'50.5679\').quantize(Decimal(\'0.00\'))
# 结果为Decimal(\'50.57\'),结果四舍五入保留了两位小数
5.Decimal 结果转化为string
from decimal import *
str(Decimal(\'3.40\').quantize(Decimal(\'0.0\')))
# 结果为\'3.40\',字符串类型
参考:
以上是关于Python如何取小数点位数的主要内容,如果未能解决你的问题,请参考以下文章
Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数