1/5为什么会等于0?而不是0.2?郁闷
decimal days;
days = 1 / 5;
days等于0,而不是0.2,这是为什么?
我把decimal 换成float,double都是0,我也没有什么int,为什么不是0.2?急呀
------解决方案--------------------不会吧
------解决方案--------------------days = (double)1 / 5;
------解决方案--------------------1/5 系统自动认为是整数除整数等于整数的,改为1.0/5 或 1/5.0 或 1.0/5.0
------解决方案--------------------在大多数编程语言中
整数 / 整数 = 整数
------解决方案--------------------1/5 这样的话是整除阿
1后面加个0
------解决方案--------------------还有这事啊..
------解决方案--------------------把1强制转换一下,或者写1.0
------解决方案--------------------汗....看看自动转型方面的东西吧....int和int运算结果还是int
------解决方案--------------------1m / 5
整型除法这样设定是很有意义的,程序设设计语言不是用来写数学表达式的,当然可以用程序来解析数学表达式运算结果。
------解决方案--------------------楼上们都说,在重复便吧
1/5为整除,不会得出小数,分母或分子换一个为decimal或double型即可,也可以在表达式前面装换
------解决方案--------------------up
------解决方案--------------------n多正解!
------解决方案--------------------1 / 5 是一个int的先给强转了
正解啊
------解决方案--------------------所有高级语言都这样
------解决方案--------------------用这个/运算符得到的结果就是一个整数,所以当然不是浮点数了
你可以这样:days = 1.0 / 5.0,就得到你想要的结果了,也就是0.2了,就说这些吧
------解决方案--------------------days =1/5*0.1
------解决方案--------------------你遭遇潜规则了
------解决方案--------------------试都试不出来,LZ机子问题吧!
------解决方案--------------------1.0/5.0
------解决方案--------------------khler(三人行,岂无师焉) ( ) 信誉:100 Blog 加为好友 2007-05-14 17:58:17 得分: 0
你遭遇潜规则了
^_^ 说的精到