double型可以强制转换成int型,即使不加强制转换,也会隐式转换,只是转换结果会丢弃小数部分,如:
double d=1.6;
int i;
i=d ; //隐式转换,i结果为1
i=(int)d ; //强制转换,i结果为1
但,如果double变量数据,超过整形数据的表示范围,(一般整数占四个字节,有符号数表示范围为:-2^31 ~ 2^31-1 ),则转换后的结果会是错误的。
时间: 2024-10-09 03:03:34
double型可以强制转换成int型,即使不加强制转换,也会隐式转换,只是转换结果会丢弃小数部分,如:
double d=1.6;
int i;
i=d ; //隐式转换,i结果为1
i=(int)d ; //强制转换,i结果为1
但,如果double变量数据,超过整形数据的表示范围,(一般整数占四个字节,有符号数表示范围为:-2^31 ~ 2^31-1 ),则转换后的结果会是错误的。