[解決済み] 度数からラジアンへの変換方法を教えてください。
2022-10-04 09:30:54
質問
私は、以下のものを変換しようとしています。
Obj-C
のコードを
Swift
のコードに変換する必要がありますが、このコードに相当するものが何であるかがわかりません。
#define DEGREES_TO_RADIANS(degrees)((M_PI * degrees)/180)
ググってみると この
しかし、私の場合、Swiftでそれを変換する方法が理解できませんか?
どのように解決するのですか?
Xcode 11 - Swift 5.1 またはそれ以降。
extension BinaryInteger {
var degreesToRadians: CGFloat { CGFloat(self) * .pi / 180 }
}
extension FloatingPoint {
var degreesToRadians: Self { self * .pi / 180 }
var radiansToDegrees: Self { self * 180 / .pi }
}
遊び場
45.degreesToRadians // 0.7853981633974483
Int(45).degreesToRadians // 0.7853981633974483
Int8(45).degreesToRadians // 0.7853981633974483
Int16(45).degreesToRadians // 0.7853981633974483
Int32(45).degreesToRadians // 0.7853981633974483
Int64(45).degreesToRadians // 0.7853981633974483
UInt(45).degreesToRadians // 0.7853981633974483
UInt8(45).degreesToRadians // 0.7853981633974483
UInt16(45).degreesToRadians // 0.7853981633974483
UInt32(45).degreesToRadians // 0.7853981633974483
UInt64(45).degreesToRadians // 0.7853981633974483
Double(45).degreesToRadians // 0.7853981633974483
CGFloat(45).degreesToRadians // 0.7853981633974483
Float(45).degreesToRadians // 0.7853981
Float80(45).degreesToRadians // 0.78539816339744830963
もし、2進整数が常にCGFloatを返すのではなく、浮動小数点型を返すようにしたい場合は、計算されたプロパティではなく、ジェネリックメソッドを作ることができます。
extension BinaryInteger {
func degreesToRadians<F: FloatingPoint>() -> F { F(self) * .pi / 180 }
}
let radiansDouble: Double = 45.degreesToRadians() // 0.7853981633974483
let radiansCGFloat: CGFloat = 45.degreesToRadians() // 0.7853981633974483
let radiansFloat: Float = 45.degreesToRadians() // 0.7853981
let radiansFloat80: Float80 = 45.degreesToRadians() // 0.78539816339744830963
関連
-
[解決済み】Git リポジトリから .DS_Store ファイルを削除するには?
-
libc++abi.dylib が NSException 型の捕捉できない例外で終了する理由 エラー
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Mac OSでNode.jsを最新バージョンにアップグレードする。
-
[解決済み] NSStringをNSNumberに変換する方法
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
制御が非ボイド関数の終了に達する
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] NSの接頭辞はどういう意味ですか?
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] 16進カラーバリューの使用方法
-
[解決済み] Swiftのプロトコルでオプションのメソッドを定義するには?