如何将np.longdouble类型转换为mpmath.mpf类型?
将numpy.longdouble转换为mpmath.mpf的方法
直接使用mpmath.mpf(np.longdouble对象)在部分高精度场景下可能丢失精度,推荐两种更可靠的转换方式:
通过字符串中转(精度无损失)
把np.longdouble转为高精度字符串后再传入mpmath.mpf,能完整保留原数值精度:import numpy as np import mpmath b = np.longdouble("1.2345678901234567890123456789") a = mpmath.mpf(str(b)) print(a)使用numpy的
item()方法
调用item()将np.longdouble转为Python原生的高精度浮点数,再转换为mpf:import numpy as np import mpmath b = np.longdouble(1.0) a = mpmath.mpf(b.item()) print(a)
如果你的数值是简单的低精度值,直接用你原来的代码也能正常工作,但处理高精度np.longdouble时,上面两种方法能避免精度丢失问题。
内容的提问来源于stack exchange,提问作者Jakub
相关产品推荐
相关产品推荐

