2015-07-01 54 views
-1
decimal n = str.Split('.')[0].Substring(2).Where(d => d == '0').Count(s => s == '0'); 
          displayLabel5.Text = n.ToString(); 

此代碼有效,但它只計算輸入的前兩位數字後的零。在我輸入之後,比方說,5360000.它會輸出4,因爲有4個零。但我希望它也能夠計算6,因爲它不是前兩個數字的一​​部分。如何計算2位數後的所有數字,但小數點前?

+1

'decimal n = str.Split('。')[0] .Substring(2).Length;' –

+1

當然假設你的'str'包含一個小數,並且至少有兩位數它的左邊。 –

+0

@dubstylee只有第二部分是真的'它的左邊至少有兩位數'。沒有錯''「.Split('。')[0]' – EZI

回答

1

以下代碼採用小數點前的所有字符'。'。那麼它會跳過前兩個並計算剩餘的。

var test = "335434553.23434"; 
var result = test.TakeWhile(d => d != '.').Skip(2).Count(); 

請注意,該代碼假定您正在處理一個代表有效數字的字符串。

相關問題