问个计算问题。为什么结果不正确
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);