说a = 580991.3636
当我b = np.float32(a)
b 580991.4
我在b 580991.3636
我希望这是一个简单的想法,有什么想法吗? 我还假设这是我对浮动的误解造成的。 我知道python在dtypes方面是动态的,但我需要将它放在特定库(python-pcl)的float32中。
答案 0 :(得分:3)
Float32只能提供6到9位数的精度。
Float32的工作方式是将符号存储在1位中,将指数存储在8位中,将值存储在23位(也称为小数)。因此,您可以牺牲精度来表示各种实数。
如果需要更精确的说明,则必须为double或使用python的库decimal。