当前位置:编程学习 > C#/ASP.NET >>

double减去decimal的问题

 double a = 9608.2;
 decimal b = 1800;
 double m = 7808.2;
 double n = a - Convert.ToDouble(b);

请问一下最后 m与n的值是否相等 --------------------编程问答-------------------- 自己测试就知道了,不相等啊 --------------------编程问答-------------------- 有浮点误差,double类型比较是否相对,不能直接m==n判断,要允许误差

if(Math.Abc(m-n)<0.000001)
{
   //认为m和n是相等的
} --------------------编程问答-------------------- Math.Abc写错了,是
Math.Abs --------------------编程问答-------------------- m与n的值不相等 --------------------编程问答-------------------- m=7808.2,n=7808.2000000000007 --------------------编程问答--------------------
引用 2 楼 gxingmin 的回复:
有浮点误差,double类型比较是否相对,不能直接m==n判断,要允许误差

if(Math.Abc(m-n)<0.000001)
{
  //认为m和n是相等的
}

正解
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,