今天一个客户要修改数据,达到四舍五入,本来C#默认的system.Math.Round(,),不完全是四舍五入,应该是四舍六入五取偶。
找方法吧,.NET 2.0里倒是重载了System.Math.Round方法,无奈开发平台只是用的1.1,为了这个升级平台也太浪费。
只好写方法吧,好在只是要到整数位,好写
调用方法:Getsishewuru(PayMoney,0)
定义方法:
1 public static decimal Getsishewuru(decimal a,int x)
2 {
3 double s1;
4 // string u = a.ToString().Substring(a.ToString().IndexOf(".")+1,x+1);
5 // int v = Convert.ToInt32(u);
6 if(Convert.ToInt32(a.ToString().Substring(a.ToString().IndexOf(".")+1,x+1))<=4)
7 {
8 s1=Math.Floor(Convert.ToDouble(a.ToString()));
9 }
10 else
11 {
12 s1=Math.Ceiling(Convert.ToDouble(a.ToString()));
13 }
14
15 return Convert.ToDecimal(s1);
16 }
这么一来便实现了整数部分的四舍五入,再有具体的细化,完善即可。