2017-06-14 10 views
-1

何故かこれはなぜか動かない理由で私の頭を包むことはできません...ここに私のコードがあり、NMやPTのある別のアカウントを試すたびに表示されます0.11と私はなぜ....IF文== not working

// Declare tax variables 
string salesTax = customerLookup.Rows[0].Cells[4].Text; 
double nmTax = .15; 
double jackTax = .014; 
double ptTax = .013; 
double noTax = .11; 

//If statement to pull correct tax price based on which tax bracket they are in 
if (salesTax == "NM") 
    taxTextBox.Text = nmTax.ToString(); 
else if (salesTax == "JA") 
    taxTextBox.Text = jackTax.ToString(); 
else if (salesTax == "PT") 
    taxTextBox.Text = ptTax.ToString(); 
else 
    taxTextBox.Text = noTax.ToString(); 

を見つけ出すように見えることはできません、私はこのコードを実行する場合、それはので、私は右のセルの午前テキストボックスにNMやPTを示しています...任意のヘルプです高く評価されました:

taxTextBox.Text = salesTax.ToString(); 
+2

salesTax文字列に後続のスペースがないことを確認してください。比較する前にトリミングしてケーシングを付けてください。 – Isac

+0

また、ここで違いが生じることに注意してください。 – maccettura

+0

これを 'if(salesTax.Trim()==" NM ")'などに書き換えるとどうなりますか? –

答えて

2

これは、あなたのsalesTaxがあなたが比較した値ではないことによってのみ引き起こされる可能性があります。おそらくあなたの入力のためにいくつかの違いがあります、デバッガを使用して、それらを見つける。

1

.Trim()を使用して問題を修正しました。