C# 中十进制到双精度的隐式转换
尝试将十进制变量分配给双精度变量时,如代码片段中所示下面,可能会出现编译错误:
decimal trans = trackBar1.Value / 5000; this.Opacity = trans;
错误消息通常表示隐式转换失败十进制类型转换为双精度类型。
要解决此问题,可以使用显式转换为双精度型:
double trans = (double) trackBar1.Value / 5000.0; this.Opacity = trans;
或者,可以使用后缀将常量显式标识为双精度.0:
double trans = trackBar1.Value / 5000.0;
另一个选项是使用后缀 d 来指定double:
double trans = trackBar1.Value / 5000d;
通过显式将常量识别为 double,编译器可以正确执行转换,而无需显式强制转换。
以上是为什么在 C# 中将小数赋值给 Double 时隐式转换失败?的详细内容。更多信息请关注PHP中文网其他相关文章!