浮点型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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM