在 Swift 编程语言中,Double
是一种基础浮点数类型,用于表示带有小数部分的大数值,它可以存储非常大或非常小的数值,并且具有较高的精度(通常约为 15 位十进制数)。相对于 Float
类型,Double
提供了更大的范围和更高的精度,但同时也占用更多的内存空间(通常是 8 字节,而 Float
是 4 字节)。
let doubleValue: Double = 3.14159265358979323846 // 示例:声明并初始化一个 Double 变量
// Double 到 String 的转换(精确转换)
let stringFromDouble = String(doubleValue)
// 如果要控制转换后的小数位数,可以使用 String 的格式化功能
let formattedDouble = String(format: "%.10f", doubleValue) // 这里保留 10 位小数
// 显示类型转换:从 Int 或其他类型到 Double
let intValue: Int = 10
let convertedToDouble = Double(intValue) // 强制类型转换,需要确保转换是安全的,否则会得到 nil(对于可选 Double 类型)
// 数值运算时要注意 Swift 不允许隐式类型转换,因此在混合使用不同数值类型时可能需要显式转换
let sum: Double = doubleValue + (intValue as Double)
需要注意的是,在处理浮点数时,由于计算机内部表示浮点数的方式,可能会出现舍入误差,尤其是在涉及连续除法、累加等操作时。因此,在比较浮点数是否相等时,通常不直接使用 ==
操作符,而是设置一个足够小的误差范围来进行近似判断。