浮点型float数据强制转换成int整型

 

问题:如下代码 想获取某两个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

 

转载于:https://www.cnblogs.com/musexiaoluo/p/5588677.html

你可能感兴趣的:(浮点型float数据强制转换成int整型)