如何在 Swift 中减去 Double.pi 和 Float.pi?
How do you subtract Double.pi and Float.pi in Swift?
我想做 Double.pi - Float.pi
,但出现错误:
Binary operator '-' cannot be applied to operands of type 'Double' and 'Float.
当我将Float
转换为Double
或将Double
转换为Float
时(例如:Double(Float.pi))
,结果是错误的。我该如何减去他们?
let floatPi = Float.pi
let Pi = Double.pi
print("float pi = \(floatPi)")
print("double pi = \(Pi)")
let substraction = Pi - floatPi
print(substraction)
这是上面的结果:
float pi = 3.1415925
double pi = 3.141592653589793
error: MyPlayground.playground:20:23: error: binary operator '-' cannot be applied to operands of type 'Double' and 'Float'
let substraction = Pi - floatPi
当我尝试这个时:
let floatPi = Double(Float.pi)
结果是:
float pi = 3.141592502593994
double pi = 3.141592653589793
1.5099579897537296e-07
您看到差异的原因是 Double
可以更准确地表示 π 的值,因为它使用更多位来获得更高的精度。 Float.pi
和Double.pi
都是通过在Float
或Double
类型中尽可能准确地表示π的数学值而创建的,不超过数学值(π的值是四舍五入到零方向上最接近的可表示值)。所以 Float.pi
和 Double.pi
有不同的值,减去它们产生大约 1.5•10−7.
此外,您在使用默认格式打印 Float.pi
或 Double.pi
时看到的十进制数字并不是计算机内部的实际值。 Float
和 Double
都使用二进制格式,其中每个数字表示为有效数(实际上是某个整数)乘以 2 的负幂(包括 2 的负幂,例如 2−34,例如)。所以Float.pi
的实际值为3.141592502593994140625,Double.pi
的实际值为3.141592653589793115997963468544185161590576171875.
我想做 Double.pi - Float.pi
,但出现错误:
Binary operator '-' cannot be applied to operands of type 'Double' and 'Float.
当我将Float
转换为Double
或将Double
转换为Float
时(例如:Double(Float.pi))
,结果是错误的。我该如何减去他们?
let floatPi = Float.pi
let Pi = Double.pi
print("float pi = \(floatPi)")
print("double pi = \(Pi)")
let substraction = Pi - floatPi
print(substraction)
这是上面的结果:
float pi = 3.1415925
double pi = 3.141592653589793
error: MyPlayground.playground:20:23: error: binary operator '-' cannot be applied to operands of type 'Double' and 'Float' let substraction = Pi - floatPi
当我尝试这个时:
let floatPi = Double(Float.pi)
结果是:
float pi = 3.141592502593994
double pi = 3.141592653589793
1.5099579897537296e-07
您看到差异的原因是 Double
可以更准确地表示 π 的值,因为它使用更多位来获得更高的精度。 Float.pi
和Double.pi
都是通过在Float
或Double
类型中尽可能准确地表示π的数学值而创建的,不超过数学值(π的值是四舍五入到零方向上最接近的可表示值)。所以 Float.pi
和 Double.pi
有不同的值,减去它们产生大约 1.5•10−7.
此外,您在使用默认格式打印 Float.pi
或 Double.pi
时看到的十进制数字并不是计算机内部的实际值。 Float
和 Double
都使用二进制格式,其中每个数字表示为有效数(实际上是某个整数)乘以 2 的负幂(包括 2 的负幂,例如 2−34,例如)。所以Float.pi
的实际值为3.141592502593994140625,Double.pi
的实际值为3.141592653589793115997963468544185161590576171875.