编译器有什么作用?目标是将点之后的数字作为整数。我这样做:编译器在将float变量转换为整型变量时会做什么?
float a = 0;
cin >> a;
int b = (a - (int)a)*10;
现在我的问题是这样的:当我输入例如3.2,我得到2,这是我想要的。它也适用于.4,.5和.7。但是当我输入例如2.3时,我得到2.对于2.7我得到6等等。但是,当我这样做没有变数,例如:
(2.3 - (int)2.3)*10;
我得到正确的结果。
我找不出什么编译器。当我将一个浮点数转换为一个整数时,我一直认为它只是简单地切入点。这是编译器在使用常数时实际执行的操作。但是,当我使用变量时,编译器会减少其中的一些,但并非全部。
你的编译器是“他”?滑稽。我的一个“她”... –
@John我的编译器是一台性机器 – MGZero
你会发现浮点数是不精确的,并且打印它们将围绕最小数字,而(int)不舍入。 –