/// <summary>
/// 实现数据的四舍五入法
/// </summary>
/// <param name="v">要进行处理的数据</param>
/// <param name="x">保留的小数位数</param>
/// <returns>四舍五入后的结果</returns>
private double ChinaRound(double v, int x)
{
bool isNegative = false;
//如果是负数
if (v < 0)
{
isNegative = true;
v = -v;
}
try
{
string five= v.ToString().Substring(v.ToString().IndexOf('.')+x+1,1);
if (five == "5")
{
int num = Convert.ToInt32(v.ToString().Substring(v.ToString().IndexOf('.') + x, 1));
if (num % 2 == 0)
{
v= Convert.ToDouble(v.ToString().Substring(0,v.ToString().IndexOf('.') + x+1));
v = Math.Round(v + Math.Pow(0.1, x),x);
}
else
v = Math.Round(v, x);
}
else
v = Math.Round(v, x);
}
catch (Exception)
{
v = Math.Round(v, x);
}
if (isNegative)
{
v = -v;
}
return v;
}
C# 实现真正的四舍五入
猜你喜欢
转载自blog.csdn.net/sinat_32857543/article/details/92830097
今日推荐
周排行