对象和小数之间的转换
本文关键字:转换 之间 小数 对象 | 更新日期: 2023-09-27 17:56:25
为什么我不能将对象转换为十进制(代码如下,record["Cost"]
等于1 (int)
)?
我收到以下错误
"无法拆箱记录["成本"]"
我将使用TryParse
方法,但我不明白此错误的来源是什么。
cost = (decimal?) record["Cost"];
record["Cost"]
的值是带盒的整数。 取消装箱转换仅允许您转换为相同的类型。(至少从广义上讲;有一些差异,但它们在这里无关紧要。
您应该做的是拆箱到int
,然后转换为decimal?
:
cost = (decimal?) (int) record["Cost"];
或者,如果cost
已经声明为类型 decimal?
,则可以使用隐式转换:
cost = (int) record["Cost"];