我收到此错误并不完全确定原因。在一个类中,我使用以下代码行创建一个对象:
StoreSale sale = new StoreSale(1, 13.99);
StoreSale类中的构造函数如下所示:
public StoreSale(int quantity, float value)
{
this.quantity = quantity;
this.value = value;
}
...我收到错误''applicationname'的最佳重载方法匹配.StoreSale.StoreSale(int,float)有一些无效的参数。'
有人可以告诉我我做错了什么吗?
答案 0 :(得分:11)
13.99
是 double 字面值。附加f
以使其成为浮点数:13.99f
。
在任何情况下,您可能都不希望将二进制浮点用于货币值。 decimal
是一个更为理智的选择。
答案 1 :(得分:3)
13.99
是double
。要使其为float
字面值,请添加f
:13.99f
。
答案 2 :(得分:3)
您收到此错误,因为文字13.99
是double
,并且没有从double
到float
的隐式转换。请改用13.99F
。
StoreSale sale = new StoreSale(1, 13.99F);