标签: c# .net
float.Parse("534818068")
返回:534818080
我知道浮点数和小数值有很多并发症。但也许有人可以向我解释这种行为。
谢谢!
答案 0 :(得分:1)
浮点数具有相对精度,即7或8位数。因此,只有前7位或8位数字是正确的,与数字的实际总大小无关。
答案 1 :(得分:0)
浮点数使用IEEE 754标准(符号,偏差指数和分数)在内部存储。
float个数字以32位表示形式存储,这意味着它们的精度为7位数。 另一方面,double以64位表示形式存储,因此具有15-16位数(source)。
float
double
这就是为什么你不应该通常比较浮点数是否相等。