0

我创建了以下函数来显示数字的最后六位有效数字:

private static string ShowSigDigits(long n, int sig)
{
    string[] arr1 = n.ToString().Select(c => c.ToString()).ToArray();

    // reverse the array of string characters 
    Array.Reverse(arr1);
    List<string> stringList = new List<string>();

    for (int x = 0; x < arr1.Length; x++)
    {
        // get the last sig significant digits (loop is zero-based)
        if (x <= sig-1)
        {
            stringList.Add(arr1[x]);
        }
    }

    stringList.Reverse();

    return(string.Join("", stringList.ToArray()));
}

例如,输入 182736734,6 将得到 736734。

我确信有一种更有效的方法可以做到这一点,并希望得到一些建议。

谢谢。

4

2 回答 2

1

将 (x % 1000000) 转换为字符串,其中 % 代表模运算。

于 2012-10-31T13:19:32.337 回答
0

有许多不同的方法可以做到这一点 - 这Substring是最先想到的方法之一(就像 VB.NET 一样Strings.Right)。

string nString = n.ToString();
return nString.Substring(nString.Length - sig);
于 2012-10-31T13:17:11.117 回答