是否有任何干净的方法来设置numpy以使用float32值而不是全局使用float64?
所以我的数字程序有问题,我很好奇它是否是精度问题(即舍入错误).有没有一种快速的方法可以将程序中的所有浮点数组更改为float128数组,而无需通过我的代码并dtype='float128'在整个地方键入内容.我的数组都是float64,但我从未明确写过dtype='float64',所以我希望有一种方法可以改变这种默认行为.
我为这个非常简单而愚蠢的问题道歉; 但是,为什么这两种情况的精确度有差异?
1)
>> test = numpy.array([0.22])
>> test2 = test[0] * 2
>> test2
0.44
Run Code Online (Sandbox Code Playgroud)
2)
>> test = numpy.array([0.24])
>> test2 = test[0] * 2
>> test2
0.47999999999999998
Run Code Online (Sandbox Code Playgroud)
我在64位linux上使用python2.6.6.预先感谢您的帮助.
这似乎也适用于python中的列表
>>> t = [0.22]
>>> t
[0.22]
>>> t = [0.24]
>>> t
[0.23999999999999999]
Run Code Online (Sandbox Code Playgroud) 有没有办法指定与构造类似的默认dtype np.array(1.)?
特别是我想np.array(1.)成为np.float32和np.array(1)将来np.int32.相反,我得到np.float64和np.int64