下面的示例可以验证一下问题:
例如:
int m = 2;
int n = 4;
float x;
x = m / n;
运算的结果x=0;而不是想像的0.5;原因是整型和整型做除法运算的结果还是整型,所以m/n代表的是商运算,结果为0;若m=9,则x=2;
若想做除法运算;可将类型转换成一致如:
float m = 2;
float n = 4;
float x;
x = m / n;
或者改为
double m = 2;
double n = 4;
double x;
x = m / n;
这两种方式运行结果都是除法运算的结果x=0.5;
也可以进行类型转换将其被除数强转成double或float类型,这样double或float变量接收的就是double或float类型的运算结果了
形式如下:
int m = 2;
int n = 4;
float x;
x =(float) m / n;