2017-03-09 45 views
-2

我有兩個文本框1被稱爲「mtb_NETPAIE02」和2被稱爲「mtb_TAXE02」 在兩個文本框格式是貨幣/錢(雙)我想固定在這個碼的錯誤:計算多個值鍵入到串

if (double.Parse(mtb_NETPAIE02.Text) >= 100001) 
{ 
    mtb_TAXE02.Text = (double.Parse(mtb_NETPAIE02.Text)/5000 * double.Parse("12") 
         + double.Parse("18").ToString("N2")).ToString();    
} 

12(12,00)和18(18,00)是錢,但5000是int。

如何正確設定?

+6

「我想解決這個代碼中的錯誤」,你打算讓我們猜?什麼錯誤? –

回答

1

首先,如果您使用金錢工作,則不應該使用double; you should be using decimal。其次,你應該使用文字作爲小數,即M後綴。

最後,您試圖將decimal.Parse("18")的結果添加到其他數值中,但您首先通過ToString("N2")將其轉換爲字符串。你應該將後者你的括號整個結果從計算轉換爲字符串:

if (decimal.Parse(mtb_NETPAIE02.Text) >= 100001M) 
{ 
    // notice the `M` in 5000M 
    mtb_TAXE02.Text = (decimal.Parse(mtb_NETPAIE02.Text)/
     5000M * decimal.Parse("12") + decimal.Parse("18")).ToString("N2"); 
} 
+0

非常感謝你的幫助....你能解釋一下'M'是什麼意思嗎? –

+0

「M」表示它的十進制文字。 –