首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

问个计算有关问题。为什么结果不正确

2013-03-21 
问个计算问题。为什么结果不正确 huandao Convert.ToInt32(Convert.ToDecimal(this.txtQRNum.Text) / Con

问个计算问题。为什么结果不正确
 huandao = Convert.ToInt32(Convert.ToDecimal(this.txtQRNum.Text) / Convert.ToDecimal(this.txtHdzq.Text)) * (Convert.ToDecimal(this.txtHdsj.Text) / 60);





this.txtQRNum.Text =150
this.txtHdzq.Text=40
this.txtHdsj.Text=1200
为什么 huandao在vs2008里计算结果是80而不是60
[解决办法]

Convert.ToInt32(3.75)=3 
所以60
[解决办法]
微软默认的舍入规则是4舍6入5成双;所以你要确定这个规则符合你的规则,要不就最好用显示方法 Math.Celling 或者Floor 方法
下面2个值在 d为2.5 或者 3.5 是不同的。自己体会吧。

            decimal d = Convert.ToDecimal("3.5");
            //decimal d = Convert.ToDecimal("2.5");
            int i = Convert.ToInt32(d);
            decimal huandao = Math.Floor(d);

热点排行