print(String(Float(2 * (10 / 9))))
为什么此代码打印" 2.0"? 使用计算器," 2 *(10/9)"等于2.222222 .....
答案 0 :(得分:4)
您正在使用整数进行计算,并将(整数)结果转换为Float
。
使用浮点类型(Double
)进行计算:
print(String(Float(2.0 * (10.0 / 9.0))))
不需要施放:
print(2.0 * (10.0 / 9.0))
答案 1 :(得分:1)
2.0 *(10.0 / 9.0)会给出预期的结果。
在你的情况下,Swift首先根据Integers进行计算(result = 2),然后将其转换为float(result = 2.0),并将其转换为String(result =“2.0”)
要获得正确的结果,请阅读:
print(String(Float(2.0 * (10.0 / 9.0))))
然后您可以省略两种类型的对话:
print(2.0 * (10.0 / 9.0))