1/5为什么会等于0?而不是0.2?郁闷 decimal days; days = 1 / 5; days等于0,而不是0.2,这是为什么?我把decimal 换成float,double都是0,我也没有什么int,为什么不是0.2?急呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 days = (double)1 / 5; 1 / 5 是一个int的先给强转了 double i=new double(); i=1/5; this.label1.Text=i.ToString();结果 0double i=new double(); i=(double)1/5; this.label1.Text=i.ToString();结果0.2 double i=new double(); i=1.0/5; this.label1.Text=i.ToString();结果 0.2lz可以放心了 哈 汗....看看自动转型方面的东西吧....int和int运算结果还是int 楼上们都说,在重复便吧1/5为整除,不会得出小数,分母或分子换一个为decimal或double型即可,也可以在表达式前面装换 1 / 5 是一个int的先给强转了正解啊 用这个/运算符得到的结果就是一个整数,所以当然不是浮点数了你可以这样:days = 1.0 / 5.0,就得到你想要的结果了,也就是0.2了,就说这些吧 khler(三人行,岂无师焉) ( ) 信誉:100 Blog 加为好友 2007-05-14 17:58:17 得分: 0 你遭遇潜规则了 ^_^ 说的精到 decimal days; days = 1.0 / 5.0; 标准方法, 要加个类型说明符 m. 如: decimal days; days = 1 / 5m; MessageBox.Show(days.ToString()); 将1和5进行强制转换成decimal或者float就可以了 decimal days; days = 1.0 / 5; print cast(1 as float)/5=0.2 刚才在vb中试了试 Debug.WriteLine(1 / 5) = 0.2 Debug.WriteLine(1 \ 5) = 0 可以去我新开的blog.csdn.net/qdzhoujian看看,第1篇文章就是讲类型转换的 decimal days; days = (decimal)1 / (decimal)5; double i=new double();i=1/5;this.label1.Text=i.ToString();结果 0double i=new double();i=(double)1/5;this.label1.Text=i.ToString();结果0.2这个是对的 请问应该如何消除以下两类警告? 关于媒体播放的 在Access中如何用身份证号来判断年龄和男女?急。。。 有人知道c#程序怎么打包成免安装绿色版吗? c# winform中绑定数据库后,如何对点击的行进行更新操作? 企业信息化的好处(制造业) 代码如何改?为什么? 一个简单的问题,大家帮帮忙啊 insert into语句语法错误 关于文件名写如数据库的问题 问个简单问题。。 C#中获得系统进程信息
i=1/5;
this.label1.Text=i.ToString();
结果 0double i=new double();
i=(double)1/5;
this.label1.Text=i.ToString();
结果0.2
i=1.0/5;
this.label1.Text=i.ToString();
结果 0.2lz可以放心了 哈
1/5为整除,不会得出小数,分母或分子换一个为decimal或double型即可,也可以在表达式前面装换
你可以这样:days = 1.0 / 5.0,就得到你想要的结果了,也就是0.2了,就说这些吧
你遭遇潜规则了
^_^ 说的精到
days = 1.0 / 5.0;
days = 1.0 / 5;
Debug.WriteLine(1 \ 5) = 0
转换的
days = (decimal)1 / (decimal)5;
i=1/5;
this.label1.Text=i.ToString();
结果 0double i=new double();
i=(double)1/5;
this.label1.Text=i.ToString();
结果0.2
这个是对的