发布网友 发布时间:2022-11-21 17:39
共1个回答
热心网友 时间:2024-11-25 06:56
double 类型在内存中占8个字节, int 类型在内存中占4个字节。double的取值类型大于int。可以理解为double为8升的水壶,int 类型是4升的水壶,不能把大水壶中的水直接倒入小水壶中。
想要赋值成功需要进行强制类型转换,将int类型强制转换为double 类型。
强制类型转换:将取值范围大的数据类型,转换为取值范围小的数据类型,比较而言,自动转换是自动执行的,而强制转换需要我们手动执行
转换格式:
数据类型 变量名 = (数据类型)被转换的数据值
将1.5 赋值到int 类型,代码修改为int i = (int)1.5;// double 类型转换为int类型,直接去掉小数点
强烈注意:
浮点数转换为整数,直接去掉小数点,会损失精度。
int 强制转成short 砍掉两个字节,可能造成数据丢失