在.NET中如何将可空int转换为double?

时间:2016-10-31 16:46:43

标签: c# .net

subTotal += carts.Amount * product.Price;
  

无法隐式转换类型' int?'到'加倍存在显式转换(您是否错过了演员?)

3 个答案:

答案 0 :(得分:0)

下面

subTotal += carts.Amount * product.Price;

您尝试将int?隐式转换为intcarts.Amount)。解决方案:

if (carts.Amount.HasValue) {
    subTotal += carts.Amount.Value * product.Price;
} else {
    //carts.Amount is null, handle it
}

答案 1 :(得分:-1)

您可以使用Convert.ToDouble(x),其中x是int值。查看https://msdn.microsoft.com/en-us/library/ayes1wa5(v=vs.110).aspx以获取更多信息(这是C#,但在其他C中类似)

答案 2 :(得分:-2)

INT? nullableIntVal = 100; var dblVal = Convert.ToDouble(nullableIntVal.GetValueOrDefault(0));