C#浮点数doublue比较

it2023-12-04  112

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; } }

 

最新回复(0)