数据格式问题,运算是先把int型转成double型,结果出来后再将double转成int试试
我记得之前在学习的时候遇到过这种情况,大概是因为浮点类型存储的值是不精确的,精度再高也不精确,例如2可能浮点数的表示方法就是1.99999。
这种问题的解决方式是,不使用浮点数参与计算,其实很简单,我们在计算过程中都默认了已“元”为单位,实际上我遇见的和钱相关的计算都是以厘为单位,不适用浮点数的。
这里你可以以分为单位,1分就是1,一角就是10,一元就是100,应该就不会有精度的问题了。仅供参考
temp.yuan = x
这两值一样了,互减不就没了
temp.jiao = x * 10 - temp.yuan * 10 = (x - temp.yuan)* 10
这不归零了
类型转换问题,用范围值宽的double类型试一下
应该是你理论值算错了