问题
这是我的代码:
decimal trans = trackBar1.Value/5000; this.Opacity = trans;
当我构建应用程序时,它给出以下错误:
Cannot implicitly convert type 'decimal' to 'double'.
解决方案:
报错是这一行 this.Opacity = trans;
trans 是decimal, 而this.Opacity是double。
所以改成double就可以了:
double trans = trackBar1.Value/5000.0; double trans = trackBar1.Value/5000d;
不需要像这样使用(double) 显式强制转换为double:
double trans = (double) trackBar1.Value/5000.0;
当然还可以使用 decimal.ToDouble()转换为双精度数:
decimal transperancy = trackBar1.Value/5000; this.Opacity = decimal.ToDouble(transperancy); 或者 this.Opacity = decimal.ToDouble(trackBar1.Value/5000);
日期:2020-03-23 09:41:09 来源:oir作者:oir