当我尝试将double转换为float时,为什么会出现错误?

Kub*_*zyk 1 c#

我有一个问题,将double转换为float.码:

float volume = 0.5;
Double i = Volume.Value;
volume = (float)i / 100F;
Bass.BASS_SetVolume(volume);
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在使用BASS库.Volume是一个滑块,它给出了1到100之间的值.问题是,我收到此错误:

错误CS0664:double类型的文字不能隐式转换为'float'类型; 使用'F'后缀来创建此类型的文字

为什么我会收到此错误?

Jan*_*aus 12

float volume = 0.5;
Run Code Online (Sandbox Code Playgroud)

这一行会给你错误.浮点是double默认值,因此它不能隐式转换0.5为浮点数.请尝试使用0.5f.

  • +1这是正确的.OP原来省略了这一行以及哪一行导致错误的信息. (2认同)