关于double转int时结果不一致问题
-
3 mins read
问题背景:
先来看一个案例:
#include <bits/stdc++.h>
using namespace std;
int main(void){
double a; int b;
a = 64.35;a*= 100;
b = a; b %= 10;
cout << b;
return 0;
}
很显然,通过常理推断,这里的答案应该输出5,但是他却输出了4
我首先猜测是强制转换的问题,将第八行改成了b = (int)a测试运行之后竟然还是不对