可能重复: 浮点表示错误?
我对这段代码有问题
int cent;
int dollar ;
float cnt2dlr;
//convert cnt to doloar ;
cnt2dlr=(cnt)/(100);问题是当cnt = 175,cnt2dlr = 0.17,444444,而不是0.17,5
有什么帮助吗?
发布于 2012-11-07 16:52:37
浮点数字往往不精确。你对此无能为力。
您的代码很好地说明了为什么不应该在涉及货币的计算中使用浮点数。仅仅因为货币值有小数点,而不是使货币成为浮点数。浮点数应该用于无穷小变化的量,如温度或速度,而不是象货币一样,以块状变化的量。
https://stackoverflow.com/questions/13274372
复制相似问题