2013-05-18 55 views
2

我正在開發一個MVC應用程序。用剃刀語法。 我想從另一個值中刪除一個值。MVC中的Casting錯誤

@{ 
    double DeductedAmount1 = @Model.SanctionedAmount - @Model.DeductionAmount;   
    } 

此示值誤差爲

無法隱式轉換類型'雙?到'雙'。一個顯式轉換存在(是否缺少強制轉換?)

問題解決了,感謝達倫·戴維斯

dAmount1 = (double)@Model.SanctionedAmount.Value - (double)@Model.DeductionAmount; 
+0

您正在嘗試使用可爲空的double來執行數學運算。這裏的值可能爲null。如果是這樣,操作被認爲是無效的。什麼是實際類型的屬性? – Oybek

+0

他們是雙 – bnil

回答

2

使用double?

double? DeductedAmount1 = @Model.SanctionedAmount - @Model.DeductionAmount; 

貌似SanctionedAmountDeductionAmount的類型nullable double

您還可以在Nullable double上使用.Value。舉例來說,如果SanctionedAmountdouble?型和DeductionAmount是類型double你可以做的:

double DeductedAmount1 = @Model.SanctionedAmount.Value - @Model.DeductionAmount; 

您也可以使用cast

double DeductedAmount1 = (double)@Model.SanctionedAmount.Value - (double)@Model.DeductionAmount; 
+0

嘗試,但同樣的錯誤... – bnil

+0

@ user1650894使用'.Value' - 檢查我的編輯。其中一個變量是'double?'類型,另一個是'double'類型 –

+0

已解決....謝謝...... – bnil

0

我想以防萬一用GetValueOrDefault您可空一倍爲空