我想将20770897设置为C#浮点类型,但这已更改为20770896!为什么?
例如:
float test = 20770897;
值自动更改为20770896?请帮忙。
我从Web服务获取ID。这些是返回浮点值,但不是Web服务方法中的真值!
最佳答案
问题是舍入错误之一-由于值在幕后的精确存储方式,非整数类型不能使用某些字符串值,而是略高于或低于实际值。舍入或截断时可能会导致明显的错误,因此您应仔细确定要使用的类型-大概是您的代码正在生成20770896.99999 ...,并在打印时截断为20770896。
请注意,您的价值越高,错误就越频繁。如果需要更高的精度,请考虑调高至double
甚至decimal
类型。
关于c# - 如何在C#中设置float值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29949535/