python - 检查Python中的 float 是否正常

标签 python floating-point

是否有任何 Python 库函数可以区分常规 float 和所有非典型 float (NaN、+/-Inf、非正规 float 等)?

本质上,我问的是这个问题的Python版本:check if floating point variable has 'normal' values

最佳答案

要检查 float x 是否有限,只需使用 math.isfinite(x) .

要检查浮点 x 是否非正规(次正规),这里是一个可能的片段:

import numpy
x = 1.0e-320
fmin_normalized = numpy.finfo(type(x)).tiny
x_is_subnormal =  numpy.isfinite(x) and x!= 0 and abs(x) < fmin_normalized
print(x_is_subnormal)

我让你完成工作(编写适当的 lambda 并过滤集合)

关于python - 检查Python中的 float 是否正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59277521/

相关文章:

c - c中的十六进制浮点表示

python - 使用 Popen 和启动/等待在 python 中运行子进程时无法获取退出代码

c - MIL-STD-1750A 到十进制转换示例

python - 为什么 print 语句在 python 中产生没有任何标签的换行符?

python - Pandas 创建数据透视表时出错(KeyError)

在C中将大整数转换为 float

python - 许多商品的浮点划分

java - 如何检查舍入误差?

python - MacVim Python 缩进问题

python - Sphinx for Python 中函数或类的交叉引用文档