Comment obtenir une constante Pi mathématique dans Swift

J'essaie de trouver un moyen d'inclure la constante PI dans mon code Swift . J'ai déjà trouvé de l'aide dans une autre réponse, à import Darwin que je sais me donne accès aux fonctions C.

J'ai également vérifié le paquet Math dans Darwin et suis tombé sur la déclaration suivante:

var M_PI: Double { get } /* pi */

Donc, je suppose qu'il existe un moyen d'utiliser PI dans le code, je ne sais tout simplement pas Comment ...

133
demandé sur Leo Dabus 2014-10-12 14:16:18

2 réponses

Avec Swift 3 & 4 , pi est maintenant défini comme une variable statique sur les types de nombres à virgule flottanteDouble, Float et CGFloat, donc aucune importation spécifique n'est requise:

Double.pi
Float.pi
CGFloat.pi

Notez Également que le type réel de .pi peut être déduit par le compilateur. Donc, dans les situations où il est clair à partir du contexte que vous utilisez par exemple CGFloat, vous pouvez simplement utiliser .pi (merci à @Qbyte et @rickster pour le souligner dans les commentaires).

Pour les anciennes versions de Swift :

M_PI est défini à l'origine dans Darwin mais est également contenu dans Foundation et UIKit, donc l'importation de l'un d'entre eux vous donnera le bon accès.

import Darwin // or Foundation or UIKit

let pi = M_PI

Remarque: Comme indiqué dans les commentaires, pi peut également être utilisé comme caractère unicode dans Swift, donc vous pouvez aussi bien faire

let π = M_PI

alt + p est le raccourci (sur US-claviers) qui va créer le caractère unicode π.

245
répondu nburk 2018-06-29 14:49:52

import Darwin n'est pas nécessaire que tous M_x sont visibles avec la import Foundation

(Xcode version 6.4 (6E35b))

15
répondu Guyvo 2015-12-17 13:13:55