double類型相加精度問題解決

 double Sum = Add(Convert.ToDouble(values.GetValue(85, i)), Convert.ToDouble(values.GetValue(86, i)));

 

 

 #region 加
        private double Add(double add1, double add2)
        {
            double Sum=0;
            int a1 = 0;
            int a2 = 0;
            double m = 0;
            try
            {
                a1 = add1.ToString().Split(new char[] { '.' })[1].Length;
            }
            catch (Exception ex)
            {
                a1 = 0;
            }
            try
            {
                a2 = add2.ToString().Split(new char[] { '.' })[1].Length;
            }
            catch (Exception ex)
            {
                a2 = 0;
            }
            m= Math.Pow(10,  Math.Max(a1, a2));
            Sum = (add1 * m + add2 * m) / m;
            return Sum;

        }

        #endregion

 

發佈了83 篇原創文章 · 獲贊 14 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章