为什么(浮点数)1.11111111 = 1.11111116在c#中?

3 c#

为什么c#(float)1.11111111 = 1.11111116 in c#

Ada*_*rth 10

浮点数具有7位精度,仅为实际数字的近似值; 平等和其他运营商并不总是像期望的那样工作,尽管他们工作得非常好.

强制性链接:每个计算机科学家应该知道的关于浮点运算的内容

Epsilon浮点数属性可用于帮助缓解浮点值的非常小的分数问题,但我从未使用它.我承认我对浮点数的经验是有限的.

如果您需要更高的精度,double则更大,精度 15-16位.如果您需要更高的精度,特别是基数为10的数字(例如货币计算),请使用decimal.