为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

大雨让这座城市颠倒 2016-02-25 18:04:02
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吗??有点不明白!
查看完整描述

3 回答

已采纳
?
jenco

TA贡献1条经验 获得超3个赞

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

查看完整回答
3 反对 回复 2016-02-25
?
hhh112123123

TA贡献158条经验 获得超98个赞

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

查看完整回答
1 反对 回复 2016-02-25
?
空城丶Dreams

TA贡献6条经验 获得超1个赞

num 是int   所以num/10  取整     至少有一方为小数的时候才按正常算法

查看完整回答
反对 回复 2016-02-25
  • 3 回答
  • 0 关注
  • 2461 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信