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\',字符串类型

 
效果

 

参考:

decimal模块

以上是关于Python如何取小数点位数的主要内容,如果未能解决你的问题,请参考以下文章

python format格式化进阶-左对齐右对齐 取位数

限制显示的小数位数,只取小数以继续数学运算

C语言 如何确定输入的float型的小数点位数

Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数

js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0

matlab如何设置小数点后位数?