问题:如下代码 想获取某两个Decimal类型数之间的商的大小,结果偶尔出错(请注意是 偶尔)
Decima t1; Decima t2; int shang =Convert.ToInt32(t1 / t2) ;
解决方法:将Decimal类型数据强制转换成INT整型时 会有四舍五入的过程。如下,需要用Math.Truncate方法来取整数位。所以区商时必须用此方法取整
问题代码:
Decima t1=1.2m; Convert.ToInt32(t1) // 得到1 Decima t2=1.7m; Convert.ToInt32(t2)// 得到2
改成以下代码后:
Decima t1=1.2m; Convert.ToInt32(Math.Truncate(t1)) //得到1 Decima t2=1.7m; Convert.ToInt32(Math.Truncate(t2)) //得到1