大整数值转换为float时的精度舍入问题咨询
大整数值转换为float时的精度舍入问题咨询
今天我发现把整数转换成float时,其精度和舍入规则还挺有意思的,但遇到了几个让我意外的转换结果:
float(1641016854000000000)->1.641016854e+18(和预期一致)float(1641016854000000100)->1.641016854e+18(预期是1.6410168540000001e18)float(1641016854000000200)->1.6410168540000003e+18(预期是1.6410168540000002e+18)float(1641016854000000300)->1.6410168540000003e+18(和预期一致)float(1641016854000000400)->1.6410168540000005e+18(预期是1.6410168540000004e+18)
所以我有两个问题想请教:
- 怎样才能避免这些值被舍入?
- 如何得到我预期的转换结果?
备注:内容来源于stack exchange,提问作者alexfilexpo
相关产品推荐
相关产品推荐

