2017-06-14 5 views
-1

Ich kann aus irgendeinem Grund nicht um meinen Kopf wickeln, warum das nicht funktioniert ... hier ist mein Code und jedes Mal, wenn ich ein anderes Konto versuche, hat NM oder PT es immer nur angezeigt in der Textbox .11 und ich kann nicht, herauszufinden, warum scheinen ....IF-Anweisung == funktioniert nicht

// 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(); 

und wenn ich diesen Code tun es NM oder PT zeigt, so bin ich auf der rechten Seite Zelle ... jede Hilfe ist geschätzt:

+2

stellen Sie sicher, dass es keine abschließenden Leerzeichen in der salesTax-Zeichenfolge gibt, trimmen Sie vor dem Vergleich sowie Gehäuse – Isac

+0

Beachten Sie auch, dass Fall hier einen Unterschied machen wird. – maccettura

+0

Was passiert, wenn Sie es in 'if (salesTax.Trim() ==" NM ")' usw. umschreiben. –

Antwort

2

Dies kann nur durch die Tatsache verursacht werden, dass Ihre salesTax nicht die Werte ist, die Sie vergleichen. Es gibt einige Unterschiede, wahrscheinlich wegen Ihrer Eingabe, verwenden Sie den Debugger und finden Sie sie.

Verwandte Themen