python中的小数字正在四舍五入

问题描述 投票:0回答:2

我想在纳秒的时间尺度上进行计算。

>>> N=10
>>> A=10
>>> t = np.linspace(0,A*1e-9,N)
array([0.        , 0.        , 0.        , 0.        , 0.        ,
   0.00000001, 0.00000001, 0.00000001, 0.00000001, 0.00000001])

但阵列正在四舍五入,我怎样才能保持所需的精度

A*1e-9/N
python numpy precision
2个回答
1
投票

在我的机器上运行代码时,我得到:

[0.00000000e+00 1.11111111e-09 2.22222222e-09 3.33333333e-09
 4.44444444e-09 5.55555556e-09 6.66666667e-09 7.77777778e-09
 8.88888889e-09 1.00000000e-08]

问题在于您的打印选项,似乎不使用科学记数法。请参阅手册中的this page,了解如何更改它。

简而言之,您的代码很好,您的numpy数组的打印可能不是您的用例的最佳选择。

© www.soinside.com 2019 - 2024. All rights reserved.