我想将20770897设置为C#float类型,但这更改为20770896!为什么呢?
例如:
float test = 20770897;
值自动更改为20770896?请帮忙。 我从网络服务获得id。这些是返回一个浮点值,但它不是来自Web服务方法的真值!
答案 0 :(得分:8)
float
(System.Single
)is only 7 significant digits
答案 1 :(得分:2)
它是一个舍入误差,这些在32位浮点类型的非常大或非常小的值中很常见。如果需要浮点支持,请使用更精确的类型,如double
。如果您不明确需要浮点支持,我建议使用int
,long
,uint
或ulong
来存储值(显示为整数值)