[英]Pi Output In Swift
我正在嘗試建立一個度數/弧度計算器。 這是我的功能。
func degreesToRadians(degrees: Double) -> Double {
return degrees * (M_PI / 180)
}
func radiansToDegrees(radians: Double) -> Double {
return radians * (180 / M_PI)
}
degreesToRadians(90)
radiansToDegrees(M_PI/4)
DegreesToRadians(90)返回1.5707963267949 radiansToDegrees(M_PI / 4)返回45.0
我想發生的是度數弧度函數,而不是1.5707963267949,我希望輸出為π/ 2。 這有可能嗎?
謝謝。
如果您確實要:“π/ 2”,我認為不可能使用double來實現。 您可能會以String形式獲取此內容,但不能以數字形式獲取。 我認為您最好的選擇是采用可選布爾值,在這種情況下,結果將以pi的倍數形式返回。
degreesToRadians(90, resultAsMultipleOfPi:true)
如果此布爾值為true,則應返回0.5。 您可能需要進行一些舍入以獲得良好的舍入數字。
如果仔細查看真正的M_PI
您會發現它是math.h中預定義的double值,等於
#define M_PI 3.14159265358979323846264338327950288 /* pi */
如果要提高精度,可以聲明並使用long double值。
要將90
度表示為π/2
,您要做的是
考慮degrees
超過180的分數(即degrees
分子和180
分母);
減少該分數(即分子和分母都除以最大公因數 ); 在90/180
的情況下,最大的公因數實際上是90
,其分子的簡化分母為1
,分母的分母為2
;
結果以分數的字符串表示形式,即類似
"\\(reducedNumerator)π/\\(reducedDenominator)"
顯然,如果分子或分母為1
,則可以抑制字符串的該部分,但希望您能掌握基本原理。
對此表示懷疑。
您可以直接使用M_PI常量。
如果您需要浮點格式,請使用此格式,
let pi = Float(M_PI)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.