if中的条件为什莫是num<=0,比如num=60,当算到num=0.6时不是会四舍五入为1吗??

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

for(count=1;count<10;count++){

    num=num/10;

    if(num<=0){break;}

}

System.out.println("它是个"+count+"位的数!");

}

}

该类实现判断num的位数,if中的条件为什莫是num<=0,比如num=60,当算到num=0.6时不是会四舍五入为1吗??有点不明白!

大雨让这座城市颠倒
浏览 2462回答 3
3回答

jenco

不是四舍五入,int型运算直接丢弃小数。所以当算到num=0.6时,小数点后的数被丢弃了,实际是结果num=0

hhh112123123

循环10次每次去掉最后一位当它<=0时就说明没有位数了或者位数就是它本身,当num=60     60/10=6    6/10不等于0.6因为你的类型是int

空城丶Dreams

num 是int   所以num/10  取整     至少有一方为小数的时候才按正常算法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java