C#浮点数doublue比较

    public class THKK : DealDR
    {
        public DataRow DealDataRow(DataRow dr)
        {
            double jfzl = double.Parse(dr["jfzl"].ToString());
            double sz = double.Parse(dr["sz"].ToString()); ;
            double xz = double.Parse(dr["xz"].ToString()); ;

            if (!Equals(jfzl, 30D) && jfzl < 30)
            {
                dr["jf"] = sz + xz * (jfzl - 1);
            } 
            else
            {
                dr["jf"] = xz * jfzl;
            }



            if ((Equals(jfzl, 27.5D) || jfzl > 27.5)
                    &&
                (Equals(jfzl, 30D) || jfzl < 30)
                    &&
                Equals(sz, 18D)
                    &&
                Equals(xz, 4D)
                )
            {
                dr["jf"] = 120;
            }




            if ((Equals(jfzl, 27.5) || jfzl > 27.5)
                    &&
                (Equals(jfzl, 30D) || jfzl < 30)
                    &&
                Equals(sz, 18D)
                    &&
                Equals(xz, 5D)
                )
            {
                dr["jf"] = 150;
            }


     
            if ((Equals(jfzl, 28D) || jfzl > 28D)
                    &&
                (Equals(jfzl, 30D) || jfzl < 30)
                    &&
                Equals(sz, 18D)
                    &&
                Equals(xz, 6D)
                )
            {
                dr["jf"] = 180;
            }



            return dr;
        }


        /// <summary>
        /// 构造方法
        /// </summary>
        public THKK(string connectionString)
        {
            string sql = null;

            if (null == dtThJgb)
            {
                sql = "SELECT lx,sz,sz FROM dbo.THJGB ";
                dtThJgb = MyCommon.GetDt(sql, connectionString);
                dtThJgb.PrimaryKey = new DataColumn[] { dtThJgb.Columns["lx"] };
            }


        }


        private static DataTable dtThJgb;



        /// <summary>
        /// 浮点数是否相等
        /// </summary>
        /// <param name="d1"></param>
        /// <param name="d2"></param>
        /// <returns></returns>
        private bool Equals(double d1, double d2)
        {
            return Math.Abs(d1 - d2) < 0.000001;
        }
    }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值