如何在C#中设置值float?

时间:2015-04-29 16:32:09

标签: c# types floating-point return-value

我想将20770897设置为C#float类型,但这更改为20770896!为什么呢?

例如:

float test = 20770897;

值自动更改为20770896?请帮忙。 我从网络服务获得id。这些是返回一个浮点值,但它不是来自Web服务方法的真值!

2 个答案:

答案 0 :(得分:8)

floatSystem.Singleis only 7 significant digits

的精确度

答案 1 :(得分:2)

它是一个舍入误差,这些在32位浮点类型的非常大或非常小的值中很常见。如果需要浮点支持,请使用更精确的类型,如double。如果您不明确需要浮点支持,我建议使用intlonguintulong来存储值(显示为整数值)

http://en.wikipedia.org/wiki/Round-off_error