#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
在网上找的几个四舍五入都有错误,这是改的过的,本人测试时无错误,如有错误,请留言!