我真的不明白"Double"是什么意思。我正在尝试为suvat - mechanics equations
编写基本代码。
let displacement = (initialVelocity*time) + (0.5*(acceleration*(time*time)))
方程为s = ut + 1/2at^2
let initialVelocity = 3
let acceleration = 2
let time = 5
let finalVelocity = initialVelocity + (acceleration * time)
print ("The final Velocity is (finalVelocity)")
let half = 0.5
let accelerationTimeSquared = acceleration * (time * time)
let displacement = (initialVelocitytime) + (0.5 * (acceleration * (time * time)))
print("The displacement is (displacement)")
"Double"代表双精度浮点数。这与数字在内存中的存储方式、小数位数的精度以及它可以跨越的范围有关。来自Swift 2.2语言文档
"Double表示64位浮点数。"one_answers"Double具有精度至少为15位小数">
对于您的特定问题,请考虑以下代码:
let initialVelocitytime = 6
let acceleration = 4.5
let time = 3.5
let displacement = Double(initialVelocitytime) + (0.5*(acceleration*(time*time)))
print(displacement)
在本例中,我混合了类型initialVelocitytime
(它是Int(和结果(0.5*(acceleration*(time*time)))
(它的计算结果为Double(。为了使用+来添加它们,我将initialVelocityType强制转换为Double值,如:Double(initialVelocitytime)
。每当您想将Int类型(没有小数点,例如14或-212(与Double类型混合时,您可以用这种方式强制转换Int变量。如果你的一个变量(如加速度或时间(是Int,你也会想用这种方式投射它,即Double(acceleration)
,或者总共:
let displacement = Double(initialVelocitytime) + (0.5*(Double(acceleration)*(time*time)))
双精度是浮点数字,精度更高,例如小数位数。您通常必须转换Int才能使用Double进行操作。请参阅此问题