Неявное преобразование из Double в Single

#vb.net

#vb.net

Вопрос:

 Dim BP As Single, WVP As Single, x As Single
...
x *= (101.325 / BP) * ( BP / (BP - WVP) )
  

Код компилируется и, похоже, выполняется правильно, но подчеркивается сообщением «Неявное преобразование из ‘Double’ в ‘Single'»

Почему это должно быть неявным преобразованием, если каждая из переменных приведена как Single? Это то, о чем я должен беспокоиться или изменить?

Ответ №1:

101.325 является Double буквальным.
Следовательно, ваш код фактически умножает a Double на Single , создавая Double .

Вам нужно написать, 101.325F чтобы заставить литерал быть a Single .

Комментарии:

1. Спасибо. Взято из Python, где целые числа и числа с плавающей точкой различаются только символом (.).

Ответ №2:

101.325 является double, то есть преобразуется в single.