现在的位置: 首页 > 综合 > 正文

C#四舍五入

2017年11月06日 ⁄ 综合 ⁄ 共 864字 ⁄ 字号 评论关闭

 #region 实现数据的四舍五入法
        /// <summary>
        /// 实现数据的四舍五入法
        /// </summary>
        /// <param name="d">要进行处理的数据</param>
        /// <param name="i">保留的小数位数</param>
        /// <returns>四舍五入后的结果</returns>
        public double Round(double d, int i)
        {
            d += 0.000000001;
            if (d >= 0)
            {
                d += 5 * Math.Pow(10, -(i + 1));
            }
            else
            {
                d += -5 * Math.Pow(10, -(i + 1));
            }
            string str = d.ToString();
            string[] strs = str.Split('.');
            int idot = str.IndexOf('.');
            string prestr = strs[0];
            string poststr = strs[1];
            if (poststr.Length > i)
            {
                poststr = str.Substring(idot + 1, i);
            }
            string strd = prestr + "." + poststr;
            d = Double.Parse(strd);
            return d;
        }
        #endregion

在网上找的几个四舍五入都有错误,这是改的过的,本人测试时无错误,如有错误,请留言!

抱歉!评论已关闭.