2017-06-15 80 views
-3

我目前正在計算值的程序,我似乎無法讓我的if語句工作。值不工作 - 如果語句

我要if語句要做的是:

從窗體中獲取值。

如果ddlLamination中的值爲0(表示沒有Lam),那麼我希望總數顯示爲0.00美元,但如果SelectedHeight和SelectedWidth的值爲0,則顯示$ 0.00,但如果ddlLamination中有任何大於0的值和SelectedHeight和選定寬度,然後使LaminationSetupCharge = $ 20.00。

如果任何人都可以幫我弄清楚爲什麼我回來的時候是0.00美元,即使我有值應該使其顯示20美元,這將是偉大的價值。謝謝。

Double SelectedHeight = Convert.ToDouble(txtLabelHeight.Text); 
Double SelectedWidth = Convert.ToDouble(txtLabelWidth.Text); 

if (ddlLamination.SelectedValue == "0") 
{ 
    LaminationSetupCharge = 0.00; 
} 
else if (SelectedHeight > 0) 
{ 
    LaminationSetupCharge = 0.00; 
} 
else if (SelectedWidth > 0) 
{ 
    LaminationSetupCharge = 0.00; 
} 
else if (Convert.ToDouble(ddlLamination.SelectedValue) > 0) 
{ 
    //Lamination Setup Charge. 
    LaminationSetupCharge = 20.00; 
} 
+2

我在這裏看到任何跡象表明您已經確認變量在運行時的實際值真的是什麼,你以爲他們是。當你在第一個「if」上放置一個斷點並檢查監視窗口中的所有內容時,你看到了什麼?當你用F10瀏覽代碼時,將鼠標懸停在每個表達式上來檢查它的值,你看到了什麼? –

+2

^設置一個斷點,調試並查看'ddlLamination.SelectedValue'實際是什麼。 –

+4

如果SelectedHeight **或** SelectedWidth的值爲0,則說'如果SelectedHeight和SelectedWidth的值爲0,但是您的_coded_' – oerkelens

回答

1

如果我理解正確,你的條件應該是唯一的:

if (Convert.ToDouble(ddlLamination.SelectedValue) > 0 && SelectedWidth > 0 && SelectedHeight > 0) 
{ 
    //Lamination Setup Charge. 
    LaminationSetupCharge = 20.00; 
} 
else { 
    LaminationSetupCharge = 0.00; 
} 
+0

這對我有用。我一整天都在這裏。謝謝您的幫助。非常感激。 :) –