C# 单精度转换双精度丢失的问题

转自:http://www.cnblogs.com/huanghai/archive/2010/11/19/1881375.html

float 和 double 互相运算的时候,建议将float转换为double后统一类型运算。

 float转换double时会造成精度丢失,我的一个解决办法是,将float转换为string,再转换为double

如:

float f = 3.141592F
double d = Convert.ToDouble(f.ToString());

 

个人感觉,尽量避免double转float,虽然强制转换不会报错,但是小数位数会丢失,而且超过float长度会四舍五入,这样运算下来的结果就会有误差。 

自己总结的一点小经验,希望把你们的经验也分享给我用。 

posted @ 2018-02-24 23:32  流星的实验室  阅读(1650)  评论(0编辑  收藏  举报