/// <summary>
/// 保留有效数字
/// </summary>
/// <param name="d">数</param>
/// <param name="n">几位</param>
/// <returns></returns>
public double foo(double d, int n)
{
if (d == 0.0) return 0;
if (d > 1 || d < -1)
n = n - (int)Math.Log10(Math.Abs(d)) - 1;
else
n = n + (int)Math.Log10(1.0 / Math.Abs(d));
if (n < 0)
{
d = (int)(d / Math.Pow(10, 0 - n)) * Math.Pow(10, 0 - n);
n = 0;
}
return Math.Round(d, n);
}
网上找到的巨佬代码,记录保存一下。