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