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.
当我从教程中做例子时,我从常量变量主题中遇到了一些问题。
如果有人解释我的示例,我将不胜感激。
当您不指定类型时,浮点数文字将被推断为 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.