假设我有3.3号码,我想得到小数部分。我所做的是(我将代码分开,尽可能地每行做一件事):
float _x = 3.3;
float _j = _x - floor(_x);
printf("1. %f\n", _j);
_j *= 10;
printf("2. %f\n", _j);
int z = (int) _j;
printf("3. %d\n", z);
我得到以下输出:
1. 0.300000
2. 3.000000
3. 2
_j
到int
的投射导致数字等于2的情况发生了什么?