Python 提供了三种浮点值:内置的 float 和 complex 类型,以及标准库的 decimal.Decimal 类型。
float 类型存储双精度浮点数。具体取值范围取决于构建python的c编译器。由于精度有限,等式比较是不可靠的。
如果需要高精度,可以使用decimal.decimal模块的十进制数。该类型可以准确表示循环小数,但处理速度较慢,适合金融计算。
简单函数比较floatS是否相等:
def equal_float(a,b):
return abs(a-b)<=sys.float_info.epsilon
其中 sys.float_info.epsilon 是机器可以区分的两个浮点数之间的最小差异
math模块提供了许多可用于floatS的函数:
math.pi:常量3.1415926
math.pow(x,y):x的y次幂(浮点值)
推荐学习《
》
使用math时先用import math导入该模块
十进制数字
十进制模块可以提供固定的十进制数,精度可以自己确定。要创建 Decimal,首先使用 import decimal 导入模块
十进制数是使用 decimal.Decimal() 函数创建的,该函数接受整数或字符串作为参数,但不接受浮点数。如果使用字符串作为参数,可以使用简单的十进制表示或指数表示,并且 decimal.Decimal 的精确表示允许可靠的相等比较
(从python3.1开始,使用decimal.Decimal from-float()函数将float转换为十进制数,取一个float类型数作为参数,返回最接近的decimal.Decimal到float)
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何确定一个变量在python中是否可迭代10/09
- ♥ python如何调用cpp12/10
- ♥ 如何添加图形界面并在python脚本中打包?12/22
- ♥ 如何在python中表示一个空数组10/20
- ♥ Python 列表中的常用方法12/18
- ♥ 如何使用 spyder 调试 python 代码09/23
内容反馈