为什么C#中的浮点数需要'f'

时间:2014-02-21 12:18:37

标签: c# variables

float x = 19.2F;

我理解,如果没有F,默认情况下该变量将被假定为double。但是,因为我们首先将变量声明为float,所以这有点多余吗?

有人可以解释为什么会这样吗?

2 个答案:

答案 0 :(得分:4)

它可能在某种程度上被视为多余。但这是为了您的安全。简单来说,floatdouble之间没有隐式转换,因为您可能会丢失信息(准确性)。这可能是错误的,所以语言设计者决定让你明确指出你知道这种转换。

答案 1 :(得分:1)

康拉德是对的。

如果您将此视为“双重性”,则可以使用例如。 var

var myFloat = 23f;

Tada,“双重”float已经消失了:))