public static double Round(double d, int i)
{
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);//截取需要位数
}
if (poststr.Length <= 2)
{
poststr = poststr + "0";
}
string strd = prestr + "." + poststr;
d = Double.Parse(strd);//将字符串转换为双精度实数
return d;
}
{
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);//截取需要位数
}
if (poststr.Length <= 2)
{
poststr = poststr + "0";
}
string strd = prestr + "." + poststr;
d = Double.Parse(strd);//将字符串转换为双精度实数
return d;
}
本文介绍了一个用 C# 实现的自定义四舍五入方法,该方法可以对任意双精度浮点数进行指定位数的四舍五入处理,并考虑了正负数的不同情况。
484

被折叠的 条评论
为什么被折叠?



