为什么var x: Float = 4.5会报错?赋值浮点类型变量出错求解
为什么
var x: Float = 4.5会报错? 这是Swift强类型特性导致的:
- 浮点数字面量
4.5默认会被编译器推断为Double类型(64位浮点数),而你声明的变量x是Float类型(32位浮点数),Swift不允许不同精度的浮点数之间隐式转换,所以编译器直接报错。 - 你每次给Float变量赋值浮点字面量都出错,根源都是这个默认类型推断的问题。
解决方法有两种:
- 在浮点字面量后加
f后缀,明确指定为Float类型:var x: Float = 4.5f - 显式把Double字面量转换成Float类型:
var x: Float = Float(4.5)
内容的提问来源于stack exchange,提问作者Bruhdy
相关产品推荐
相关产品推荐

