我有一個數字,例如1234567897865;我如何最大限度地創建99999999999999?如何獲得特定長度的最大數量
我這樣做是這樣的:
int len = ItemNo.ToString().Length;
String maxNumString = "";
for (int i = 0; i < len; i++)
{
maxNumString += "9";
}
long maxNumber = long.Parse(maxNumString);
這將是解決這個任務的更好的,適當的和更短的方法是什麼?
如果您超過「長」,BigInteger具有可比較的方法。 – 2012-03-28 21:24:02
這是不正確的。由於浮點運算的特性,當x = 10^n'' log(x)'可能略小於n時。當發生這種情況時,你的函數返回'10^n-1'而不是'10 ^(n + 1)-1'。例如,在雙精度算術中,x = 1000會給出999而不是9999,因爲log(1000)= 2.99999999999999955591e + 00'。 – 2012-03-28 21:46:50
啊......挑剔! [但是正確]。我固定處理這個... @adam,爲什麼只是建議/提供修復自己? – 2012-03-28 23:12:39