【发布时间】:2012-10-31 13:15:22
【问题描述】:
我创建了以下函数来显示数字的最后六位有效数字:
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。
我确信有一种更有效的方法可以做到这一点,并希望得到一些建议。
谢谢。
【问题讨论】:
-
也许 n % 1000000?还是它必须处理诸如 f(12345678000) == 345678000 之类的事情?
-
您的意思是 x 最不重要吗?
标签: asp.net c#-4.0 significant-digits