/// <summary> /// 比较两个数的值是否相等(在转换成同样单位的情况下) /// 如果误差(以第一个数的单位为基准)小于1E-06,则认为是相等的. /// 如果两个数的单位都是NULL,则返回TRUE; /// </summary> /// <param name="val"></param> /// <returns></returns> /// <exception cref="System.Exception"> /// 如果一个单位是NULL,另一个单位不是NULL,如抛出异常 /// </exception> public bool Equals(BxUnitDouble val) { if (Unit == null) { return(val.Unit == null); } double d2 = val.GetValue(Unit); return((Value == d2) || Math.Abs(Value - d2) < DOUBLE_DELTA); }
public void CopyFrom(BxUnitDouble val) { if (val.Valid) { SetValue(val.Value, val.Unit); } else { Valid = false; } }
public void LoadXmlNode(XmlElement node) { string s = node.GetAttribute("id"); if (!string.IsNullOrEmpty(s)) { _id = s; } string data = node.GetAttribute("data"); string cate = node.GetAttribute("unitCate"); if (string.IsNullOrEmpty(data) || string.IsNullOrEmpty(cate)) { _value = data; _data = null; } else { string unit = node.GetAttribute("unit"); _data.SetUIValue(data, cate, unit); _value = _data.SaveToString(); } }
public BxDefaultDataItem(string id, BxUnitDouble data) { _id = id; _data = data; }