一尘不染

将十进制转换为双精度

c#

我想使用Track-Bar来更改Form的不透明度。

这是我的代码:

decimal trans = trackBar1.Value / 5000;
this.Opacity = trans;

当我构建应用程序时,它给出以下错误:

无法将类型隐式转换decimaldouble

我已经尝试过使用transdouble但随后Control却无法正常工作。该代码在过去的VB.NET项目中运行良好。


阅读 597

收藏
2020-05-19

共1个答案

一尘不染

double不需要像这样的显式强制转换:

double trans = (double) trackBar1.Value / 5000.0;

将常量标识为5000.0(或5000d)就足够了:

double trans = trackBar1.Value / 5000.0;
double trans = trackBar1.Value / 5000d;
2020-05-19