double a = 1.45;
double b = 1.55;
double c = 1.56;
double d = 1.54;context.Response.Write("a:"+Math.Round(a,1)+"<br/>"+"b:"+Math.Round(b,1)+"<br/>c:"+Math.Round(c,1)+"<br/>d:"+Math.Round(d,1));
按照传统的四舍五入的结果,a,b,c,d保留1为小数的结果是1.5,1.6,1.6,1.5。
但是输出的结果则是:
因为Math.Round采用的是四舍六入,五取偶的算法,四舍六入不需解释,五取偶的意思是,五是否进1,是根据五前面的数字判定的,五前面是偶数,则不进1,反之进1。