c/c需要将浮点数据(浮点、双精度)转换为整形数据(各种int ),因此我来介绍一下我所知道的内容。 希望对今后的编程有用。
1 .常规强制转换:允许“下行”整数化——浮点数为小于它的最大整数
c标准int i;
双精度x=5.4;
I=(int ) x;
此时得到的I的值为5; 去除浮点型的小数部分。
c标准int i;
双精度x=5.4;
I=int(x );
结果与前者相同,I的值为5,即去除浮点型的小数部分。
2 .实现四舍五入(m舍n入) :
考虑几舍几入的最简单方法是在原来的数量上加上0.n就可以了。 例如,如果想四舍五入,——5.4int(5.40.5 )=5
5.5int(5.5.5)=6
另外,想二舍三入时——5.2int(5.20.7)=5
5.3int(5.30.7 )=6
3 .实现“上行”整形:即
使用c/c标准库函数: ceil ()必须将#include加载到头文件c中
具体而言,int i; 双精度x=5.4; I=ceil(x ); //i为6
int i; 双精度=2.0; I=ceil(x ); //i为2
自己编写函数,进行“上行”整数化:将浮点数转换为比其大的最小整数。
例—1个—if(x-(int ) x ) I=(int ); //x -如果(int ) x不等于0 ),则I等于I的“下”整数加1
ELSEI=(int ) x; //否则,(即x-(int ) x=0) I ) I )这里表面上进行"下行"运算,但实际上
x=n.0(int ) x是将2.0改为2。