我是在visual studio下写的。
double a;int b;int c;a=1234.56;b=(int)a;
c=(a-b)*100 为什么c是55而不是56
为什么a是0.5599999999?
追答二进制转换成十进制时就会出现这种问题,一般都是换成整数计算
追问是否可以理解为因为0.559999(9无限循环)和0.56相等,浮点数在计算机中都是近似表示值?我感觉我似乎有点知道了但是具体不是很了解,请问哪些书上会有这块内容啊?我都没有看到过诶。
追答你去了解一下二进制与十进制的转换就明白了,十进制小数转换成二进制不一定会转换成有限小数
追问好的,谢谢!