您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么在声明浮点数时需要“ f”?

为什么在声明浮点数时需要“ f”?

您的浮动声明包含两个部分:

该问题出现在第2部分中。

右侧将自行评估。根据C#规范,包含不带后缀的小数点的数字将解释为double

因此,我们现在有了一个double要分配给type变量的值float。为此,必须存在从double到的隐式转换float。没有这种转换,因为您可能(在这种情况下确实)会在转换中丢失信息。

原因是编译器使用的值不是真正的0.58,而是最接近0.58的浮点值,对于来说恰好是0.57999999999999978655962351581366 …对于double和恰好是0.57999994605757796478271484375 float

严格来说,f不需要。您可以f通过将值强制转换为来避免使用后缀float

float timeRemaining = (float)0.58;
其他 2022/1/1 18:14:07 有629人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶