
这是一个问题
double,以
float转换。
在64位计算机上,
CGFloat定义为
double并且您将编译它而不会出现问题,因为
M_PI和
x都是双精度。
在32位计算机上,
CGFloat是,
float但
M_PI仍然是两倍。不幸的是,Swift中没有隐式强制转换,因此您必须显式强制转换:
return (CGFloat(M_PI) * (x) / 180.0)
180.0文字的类型被推断。
在Swift 3中
M_PI已弃用,请
CGFloat.pi改用:
return (x * .pi / 180.0)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)