CGFloat的变量返回0.0
问题描述:
当我试试这个:CGFloat的变量返回0.0
let progress: CGFloat = CGFloat(2/3)
print(progress)
控制台返回0,但结果是0,66666666667,而不是0 ....这是为什么发生?
当我尝试:
let progress: CGFloat = CGFloat(10/3)
print(progress)
它返回3.0,是CGFloat的是如何工作的呢?有没有办法让CGFLoat获得逗号?
答
如果你不加入转换,这将完美工作。
let progress: CGFloat = 2/3
print(progress) //0.666666666666667
之所以出现这种不明确的转换工作是beause 斯威夫特把整数作为Int
如果是没有上下文。
这正是转换括号内发生的事情。
你正在做整数除法,而不是浮点数。 –