Example #1
0
        /// <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);
        }
Example #2
0
 public void CopyFrom(BxUnitDouble val)
 {
     if (val.Valid)
     {
         SetValue(val.Value, val.Unit);
     }
     else
     {
         Valid = false;
     }
 }
Example #3
0
        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();
            }
        }
Example #4
0
 public BxDefaultDataItem(string id, BxUnitDouble data)
 {
     _id = id; _data = data;
 }