簡體   English   中英

Pi輸出迅速

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM