小数在python中被四舍五入

时间:2019-03-22 11:43:01

标签: python numpy precision

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

>>> 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

1 个答案:

答案 0 :(得分: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数组可能不是针对您的用例的最佳选择。