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#内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复