Swift-将度数转换为弧度时,二元运算符不能应用于操作数
Swift-Binary operator cannot be applied to operands, when converting degrees to radians
我知道这个网站上有一些相对相似的问题,但如果它们适用于我的问题(我不确定它们是否适用)那么我当然不理解它们。这是我的问题;
var degrees = UInt32()
var radians = Double()
let degrees:UInt32 = arc4random_uniform(360)
let radians = angle * (M_PI / 180)
这个returns一个错误,关注乘法星,阅读; "Binary operator "*" 不能应用于 'UInt32' 和 'Double' 类型的操作数。
我相当确定我需要让 degrees 变量的类型为 UInt32 来随机化它,而且 pi 常量不能成为 UInt32 类型,或者至少我不知道如何,因为一般来说,我对 Xcode 和 Swift 比较陌生。
如果有人能解决我的问题,我将不胜感激。
提前致谢。
let degree = arc4random_uniform(360)
let radian = Double(degree) * .pi/180
你需要在乘法之前将度数转换为双倍数。
来自苹果 swift 书:
整数和Floating-Point转换
整数和 floating-point 数值类型之间的转换必须明确:
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi等于3.14159,推断为Double类型
这里用常量三的值创建一个Double类型的新值,这样两边
添加的是同一类型。如果没有进行此转换,则不允许添加。
Floating-point 到整数的转换也必须明确。可以初始化整数类型
使用 Double 或 Float 值:
1 let integerPi = Int(pi)
2 // integerPi equals 3, and is inferred to be of type Int
Floating-point 值在用于以这种方式初始化新整数值时总是被截断。
也就是说4.75变成4,-3.9变成-3。
我知道这个网站上有一些相对相似的问题,但如果它们适用于我的问题(我不确定它们是否适用)那么我当然不理解它们。这是我的问题;
var degrees = UInt32()
var radians = Double()
let degrees:UInt32 = arc4random_uniform(360)
let radians = angle * (M_PI / 180)
这个returns一个错误,关注乘法星,阅读; "Binary operator "*" 不能应用于 'UInt32' 和 'Double' 类型的操作数。
我相当确定我需要让 degrees 变量的类型为 UInt32 来随机化它,而且 pi 常量不能成为 UInt32 类型,或者至少我不知道如何,因为一般来说,我对 Xcode 和 Swift 比较陌生。
如果有人能解决我的问题,我将不胜感激。
提前致谢。
let degree = arc4random_uniform(360)
let radian = Double(degree) * .pi/180
你需要在乘法之前将度数转换为双倍数。
来自苹果 swift 书:
整数和Floating-Point转换
整数和 floating-point 数值类型之间的转换必须明确:
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi等于3.14159,推断为Double类型
这里用常量三的值创建一个Double类型的新值,这样两边 添加的是同一类型。如果没有进行此转换,则不允许添加。 Floating-point 到整数的转换也必须明确。可以初始化整数类型 使用 Double 或 Float 值:
1 let integerPi = Int(pi)
2 // integerPi equals 3, and is inferred to be of type Int
Floating-point 值在用于以这种方式初始化新整数值时总是被截断。 也就是说4.75变成4,-3.9变成-3。