显示出n个重要数字的更优雅的方式



我创建了以下功能,以显示一个数字的最后六个重要数字:

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。

我敢肯定有一种更有效的方法,并且想要一些建议。

谢谢。

转换(x%1000000)到字符串中,其中%代表modulo操作。

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

string nString = n.ToString();
return nString.Substring(nString.Length - sig);

相关内容

最新更新