全部展开
双精度类型可以强制转换为int类型。
可以使用两种方法进行转换:显式强制类型转换和隐式强制类型转换。
1、显3231愚人节236313431303231363533 e 59 B9 ee7ad 94313343135364式强制型转换
格式包括: int b=(int ) a;
强制执行类型转换运算符的运算时,将返回int类型的数值。 强制类型转换操作不会更改操作数本身,运算后的操作数本身不会更改。
2、隐式强制类型转换
隐式类型转换发生在赋值表达式和具有返回值的函数调用表达式中。 赋值表达式中,赋值符左右的操作数类型不同时,将赋值符右侧的操作数强制转换为赋值符左侧类型的数值,然后赋值给赋值符左侧的变量。
调用函数时,如果return之后的表达式类型与函数的返回类型不同,则强制将return之后的表达式中的数字转换为函数的返回类型,然后返回值。 例如:
int n; 双精度d=3.78; n=d;
运行后,n的值为3,d的值保持为3.78。
扩展数据:
类型自动遵循的规则:
1、涉及的运算量类型不同时,先转换为同一类型后进行运算。
2、转换要按数据长度增加的方向进行,以免精度下降。 例如,int型和long型的运算时,将int量转换为long型后进行运算。
3、所有的浮点运算都是用双精度进行的,即使是只包含浮点单精度量运算的表达式,也要转换为双精度型后进行运算。
4、char型和short型参加运算时,必须先转换为int型。
5、赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的模型转换为左边量的模型。 如果右量的数据类型长度大于左,则部分数据将丢失,精度将下降,丢失的部分将被截断。