【发布时间】:2015-11-03 18:09:01
【问题描述】:
我的目标是将从NumericUpDown 控件返回的Decimal 转换为Double。
两个都可以
MyDouble = Convert.ToDouble(MyDecimal)
或
MyDouble = CType(MyDecimal, Double)
或者,根据 MSDN Decimal 有一个 ToDouble 方法,所以我想:
MyDouble = MyDecimal.ToDouble
首选/推荐的方法是什么?为什么最后一个选项会给我一个未指定参数的错误?
WRT 该问题的第一部分,如果不同的转换方法应该用于不同类型的对象,是否有某个地方(最好是 MSDN)提供关于哪个对象的方法的信息/需求可以参考吗?
【问题讨论】:
-
MyDecimal.ToDouble出现的错误是因为ToDouble是共享方法而不是实例方法。你需要的是MyDouble = Decimal.ToDouble(MyDecimal)。我也发现各种转换方法相当令人困惑。 -
你忘了
DirectCast(MyDecimal, Double) -
还有
CDbl(MyDecimal)。 -
@MattWilko 和 JoelCoehoorn 以前没见过这些,废话!
标签: .net vb.net casting double type-conversion