首页 优化推广 c# 四舍五入、上取整、下取整

c# 四舍五入、上取整、下取整

来源: | 时间:2013/4/27 9:22:06 |

在处理一些数据时,我们希望能用“四舍五入”法实现,但是C#采用的是“四舍六入五成双”的方法,如下面的例子,就是用“四舍六入五成双”得到的结果:

double d1 = Math.Round(1.25, 1);//1.2
double d2 = Math.Round(1.24, 1);//1.2
double d3 = Math.Round(1.26, 1);//1.3
double d4 = Math.Round(1.35, 1);//1.4

为了用C#来实现“四舍五入”,我写了下面的函数:

 
代码
/// <summary>
/// 实现数据的四舍五入法
   /// </summary>
/// <param name="v">要进行处理的数据</param>
/// <param name="x">保留的小数位数</param>
/// <returns>四舍五入后的结果</returns>
private double Round(double v, int x)
{
bool isNegative = false;
//如果是负数
if (v < 0)
{
isNegative
= true;
v
= -v;
}

int IValue = 1;
for (int i = 1; i <= x; i++)
{
IValue
= IValue × 10;
}
double Int = Math.Round(v × IValue + 0.5, 0);
v
= Int / IValue;

if (isNegative)
{
v
= -v;
}

return v;
}
 

经过简单的测试,上面的函数能实现对数据的四舍五入法。

 

Math.Round ()在四舍五入时有个问题:   

服务热线

153 8323 9821

功能和特性

价格和优惠

网站和维护

推广和优化

微信服务号