概述
c# float类型和double类型相乘出现精度丢失
double db = 4.0; double db2 = 1.3; float f = 1.3F; float f2 = 4.0F; Decimal de = Convert.ToDecimal(f); MessageBox.Show("double * float " + (db * f).ToString() + "rn double * double " + (db * db2).ToString()); MessageBox.Show("double * (double)float " + (db * Convert.ToDouble(f)).ToString() + "rn float * float " + (f * f2).ToString() + "rn (Decimal)double * (Decimal)float " + (Convert.ToDecimal(db) * Convert.ToDecimal(f)).ToString()); //Convert.ToDecimal(db)转化成Decimal类型计算,Decimal 128位高精度浮点数,常用于金融运算,不会出现浮点数计算的误差
本文解决办法参考http://www.cnblogs.com/quietwalk/archive/2010/05/02/1725885.html
转载于:https://www.cnblogs.com/tpfOfBlog/p/6479334.html
最后
以上就是受伤微笑为你收集整理的c# float类型和double类型相乘出现精度丢失的全部内容,希望文章能够帮你解决c# float类型和double类型相乘出现精度丢失所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复