在C++和Java中可以看出,m1在C++和java中都保存为浮点型,但是为什么C++输出是1呢?
难道是C++的控制台自动四舍五入了嘛?为什么不和Java一样输出小数呢?
以下是代码
在C++中(使用的CLion):
#include <cstdio>
using namespace std;
int main(){
double m = 43.01;
double m1 = m - 43;
double m2 = m1*100;
printf("%lf\n",m2);
printf("%d\n",(int)m2);
return 0;
}
结果是:
1.000000
0
在Java中(使用的IDEA):
public class Q {
public static void main(String[] args) {
double m = 43.01;
double m1 = m - 43;
double m2 = m1 * 100;
System.out.println(m2);
System.out.println((int)m2);
}
}
结果是:
0.999999999999801
0