读书人

1/5为什么会等于0?而不是0.2?郁闷解决

发布时间: 2012-02-11 09:51:34 作者: rapoo

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


你遭遇潜规则了



^_^ 说的精到

读书人网 >C#

热点推荐