【发布时间】:2010-05-10 22:11:10
【问题描述】:
我有一个这样的结构,显式转换为浮点数:
struct TwFix32
{
public static explicit operator float(TwFix32 x) { ... }
}
我可以通过一次显式转换将 TwFix32 转换为 int:(int)fix32
但要将其转换为十进制,我必须使用两个强制转换:(decimal)(float)fix32
没有从浮点到整数或十进制的隐式转换。为什么编译器让我在我要 int 时省略中间转换为 float,但在我要小数时却不允许?
【问题讨论】: