swift 教程中的隐式常量类型

Implicit type of constant in swift tutorial

当我从教程中做例子时,我从常量变量主题中遇到了一些问题。

如果有人解释我的示例,我将不胜感激。

当您不指定类型时,浮点数文字将被推断为 Double.

类型

Double,顾名思义,比Float有双精度。所以当你这样做时:

let a = 64.1

内存中的实际值可能类似于 64.099999999999991。由于 Double 仅显示 16 位有效数字,因此显示 64.09999999999999,将最后一个“1”四舍五入。

为什么 let b: Float = 64.1 显示正确的数字?

当您指定浮点类型时,精度会降低。 Float只显示8位有效数字。那是 64.099999,但后面有一个“9”,所以它四舍五入得到 64.1。

这与显式声明变量类型无关。尝试将其指定为 Double:

let b: Double = 64.1

还是会显示64.09999999999999.