Dim x为Decimal = 100.0m是否隐式执行从double到decimal的转换?

时间:2011-03-30 16:39:10

标签: vb.net

如果我有代码:

Dim x as Decimal = 100.0m

是否隐式地从双精度转换为十进制。我将如何在vb.net中明确地执行此操作?

2 个答案:

答案 0 :(得分:6)

我想你想要:

Dim x as Decimal = 100.0d

C#中的十进制文字是m,但在vb.net中是d。这不会产生任何铸件。要将double转换为小数(r是vb.net中的双重文字),您可以说:

Dim x as Decimal = CType(100r, Decimal)
Dim x as Decimal = CType(100.0, Decimal)

答案 1 :(得分:3)

十进制的文字后缀是C#中的“m | M”。在VB.NET中,十进制的文字后缀是“d | D”。如果我理解你的问题,该陈述应为:

Dim x为Decimal = 100.0d

VB.NET编译器会在编译时将数字文字解释为十进制,因此不需要强制转换。