Python np.float32类型转str为什么数据会变

Python np.float32类型转str为什么数据会变

问题描述:

比如a=np.float32(495853088.0)
b=f'{a}'
结果a=495853100.0
b='495853088.0'
问题1:b为什么不是'495853100.0'
问题2: 请问这里的x可以填多少 495853088.0=np.float32(x)
小白提问 谢谢各位大佬 好人一生平安

改为float64就正常了

import numpy as np
a=np.float64(495853088.0)
print(a)
b=f'{a}'
print(b)

img

float类型精度只有7位,超过7位就会四舍五入了
你想保留9位有效数字,那你需要的是double或者decimal