2017-01-21 11 views
0

このサイトでは比較的類似した質問がありますが、それらが問題に当てはまる場合は私は確かにそれらを理解していない。ここに私の問題がある。スウィフト - 度をラジアンに変換するとき、オペランドに2進演算子を適用できません

var degrees = UInt32() 
var radians = Double() 

let degrees:UInt32 = arc4random_uniform(360) 
let radians = angle * (M_PI/180) 

これは、乗算の星に焦点を当て、エラーを返します。 "2進演算子" * "は 'UInt32'型と 'Double'型のオペランドには適用できません

degrees変数をランダム化するにはUInt32型を使用する必要があります。 Xcodeとスウィフトの一般的な新機能であるため、UInt32の定数にすることはできません。少なくとも、どのようにすればわかりません。

誰かが私の問題の解決策を持っていれば非常に感謝します。事前に

ありがとう。あなたが変換する必要があり

答えて

1
let degree = arc4random_uniform(360) 

let radian = Double(degree) * .pi/180 

乗算の前に二倍になる度合い。

リンゴ迅速帳から:整数と浮動小数点数値型の間

整数と浮動小数点の変換

変換明示的に行う必要があります。

let three = 3 
let pointOneFourOneFiveNine = 0.14159 
let pi = Double(three) + pointOneFourOneFiveNine 

//パイのequals 3.14159であり、Double型であると推定される。

ここで、定数thの値reeはDouble型の新しい値を作成するために使用されるため、加算は同じ型の の両側になります。この変換が行われなければ、追加は許可されません。 浮動小数点から整数への変換も明示する必要があります。整数型はダブルまたはFloat値で を初期化することができます。このように、新たな整数値を初期化するために使用された場合

1 let integerPi = Int(pi) 
2 // integerPi equals 3, and is inferred to be of type Int 

浮動小数点値は常に切り捨てられます。 これは、4.75が4になり、-3.9が-3になることを意味します。

関連する問題