日期:2014-05-17  浏览次数:21274 次

C# FLOAT相加错误

FLOAT A=float.parse(数据库获取的值);
FLOAT B=float.parse(数据库获取的值);


FLOAT C=A+B; 

结果完全错误
比如A=0.2377375
    B=0.1698125
那么C应该等于0.40755   但在程序里面C等于0.9后面一大堆小数,请问怎么解决?

------解决方案--------------------
用 Decimal 对象
------解决方案--------------------
你直接试下下面的代码,结果为:0.40755。肯定是你其它什么地方影响了最终结果。
static void Main(string[] args)
        {
            float A = float.Parse("0.2377375");
            float B = float.Parse("0.1698125");

            float C = A + B;
            Console.WriteLine(C);
        }

------解决方案--------------------
float A = float.Parse("0.2377375");
            float B = float.Parse("0.1698125");
            //C=0.40755
            float C = A + B; 

试过了,不存在你说的问题。你确认一下数据库中的值吧。
------解决方案--------------------
有关小数点的计算务必用Decimal类,浮点型会有这样的问题。
------解决方案--------------------
确定下A和B的值。搞不好是其他什么地方影响到了