为什么输出的结果是166.0,小数点后面的怎么变成0了

为什么输出的结果是166.0,小数点后面的怎么变成0了,而不是166.666666

img

int/int结果还是int类型呀,比如 5/3结果就是1,而5/3.0或者5.0/3这种结果才会是带小数的
计算的时候需要转化下 可以改成
float a=500/3.0f; 或者 float a=500.0f/3;

float是单精度浮点型

因为500和3都是int型,int型除以int型结果还是int型,即使你的变量a是float,但是结果赋值给a之前就已经没有小数了
写成500.0/3,或者500/3.0,或者500f/3,或者500/3f都行