subTotal += carts.Amount * product.Price;
不能隱式轉換類型'int?'到'雙'。存在明確的轉換(您是否缺少演員?)在.NET中如何將一個可爲空的int轉換爲double?
subTotal += carts.Amount * product.Price;
不能隱式轉換類型'int?'到'雙'。存在明確的轉換(您是否缺少演員?)在.NET中如何將一個可爲空的int轉換爲double?
您可以使用Convert.ToDouble(x)
其中x是整型值。查看https://msdn.microsoft.com/en-us/library/ayes1wa5(v=vs.110).aspx以獲取更多信息(這是C#,但在其他Cs中類似)
int? nullableIntVal = 100; var dblVal = Convert.ToDouble(nullableIntVal.GetValueOrDefault(0));
這裏
subTotal += carts.Amount * product.Price;
嘗試隱式轉換的int?
到int
(carts.Amount
)。解決方案:
if (carts.Amount.HasValue) {
subTotal += carts.Amount.Value * product.Price;
} else {
//carts.Amount is null, handle it
}
您需要獲取可爲空值(如果有)。 – SLaks
您不應該使用雙打貨幣代碼。使用[十進制](https://msdn.microsoft.com/en-us/library/364x0z75.aspx)。 – mason
存在明確的轉換。你忘了在表達中加入演員陣容嗎?真的不清楚你在問什麼。 Stack Overflow有很多的答案,已經討論過從'int'轉換爲'double',並且從可空值轉換爲不可空值(請參閱標記爲重複)。如果您在其他許多帖子中沒有回答問題,請解釋:提供一個很好的[mcve],顯示您嘗試過的內容,並具體描述_specifically_您嘗試過的內容以及您遇到的問題。 –