Любой буквенный номер в вашем коде, который включает десятичную точку, интерпретируется как double
, а не float
, если только вы не пометите его как float
, добавив f
.
Двойные числа не автоматически преобразуются в числа с плавающей точкой, поскольку это может привести к потере точности.
Чтобы исправить свой код, вы можете:
отметьте ваше буквальное число как число с плавающей точкой:
Program obj1 = new Program(1.2f);
или, явно приведите его как число с плавающей точкой:
Program obj1 = new Program((float)1.2);
Первый вариант предпочтительнее при использовании числового литерала, но если вы передаете переменную, типизированную как double, тогда вы можете использовать последний.