您的位置:首页 > 编程语言 > C#

(转贴)c#四舍五入运算代码

2006-09-07 16:04 344 查看
M$总晃惦人,C#里Math.Round()似乎在做舍入计算的时候没那么好用,简直可以说是“五舍六入”啦~~~刚开始不知道这茬,计算结果总不对。后来,跟了程序才发现这方法居然忽悠了我。没法子,既然这么不好用,或者说这么没有中国特色,只能自己搞点中国特色出来了。重写Round():


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);


}


string strd = prestr + "." + poststr;


d = Double.Parse(strd);


return d;


}
参数:d表示要四舍五入的数;i表示要保留的小数点后为数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: