如何在C#中将小数转换为双精度?
问题描述:
我想使用轨迹栏
更改 Form
的不透明度。
I want to use a Track-Bar
to change a Form
's opacity.
这是我的代码:
decimal trans = trackBar1.Value / 5000;
this.Opacity = trans;
构建应用程序时,出现以下错误:
When I build the application, it gives the following error:
不能将类型
十进制
隐式转换为double
我尝试使用 trans
和 double
,但随后使用 Control
不起作用。这段代码在过去的VB.NET项目中运行良好。
I have tried using trans
and double
but then the Control
doesn't work. This code worked fine in a past VB.NET project.
答
显式转换为 double
不必这样:
double trans = (double) trackBar1.Value / 5000.0;
将常数标识为 5000.0
(或 5000d
)就足够了:
Identifying the constant as 5000.0
(or as 5000d
) is sufficient:
double trans = trackBar1.Value / 5000.0;
double trans = trackBar1.Value / 5000d;