浮点数强制转换成整型为什么只取整数部分

如题

浮点数可以存储小数部分,整数只能存储整数,float a =0.123; int b =0;
b =(int)a; //这样整型变量只能取a的整数部分,如果你想把浮点变量的小数
部分也保存,比如a=0.123;想b=123,那么就这样;b=(int)(a*1000);
然后运算b的时候记住b需要除1000才是实际的值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-15
float f=3.6712;
int i,j;
i=(int)f;//取整(只保留整数部分),这个是C语言规定,没有什么好解释的。
j=(int)(f+0.5);//四舍五入;本回答被网友采纳
第2个回答  2011-03-15
呵呵,那现在你把自己想像成 C++ 之父,或者一款新的 C++ 编译器的开发者,你觉得浮点数强制转换成整型,只取整数部分是不是比较合理呢?如果不这么做的话,有什么做法可以更合理吗?
人家写编译器的觉得这样做比较合适,所以人家就这么写编译器了。确实没什么好解释的。本回答被提问者采纳
第3个回答  2011-03-15
int整型 只能用整数
转化时不会四舍五入
一定要四舍五入 转化前+0.5
第4个回答  2018-03-19
整型数当然只有整数部分!
相似回答