我只是想知道,因为我构建的应用程序做了一个非常长的等式,结果与在Excel电子表格上完成时的结果不同,在那里我得到了等式。输入数字越高,差异越大。这是我在xcode中输入的等式:
360 * num1 * num3 * (1 - powf(14.9 / num1, 0.286))
(num1和num3是输入数字)
这是Excel计算:
=360*R9*R11*(1-((R10/R9)^0.286))
(R9
等于num1
,R11
等于num3
,R10
等于14.9)
我没有看到方程式的差异,但如果你这样做,请指出。我的意思是两个中的一个(可能是ob-c)正在做一些与我预期不同的事情。
答案 0 :(得分:2)
是。 Objective-C是C的超集。
所以C的所有功能,Objective-C也都有。
360 * num1 * num3 * (1 - powf(14.9 / num1, 0.286)) (num1 and num3 are the input numbers)
A * num3 * (1 - powf(14.9 / num1, 0.286))
B * (1 - powf(14.9 / num1, 0.286))
B * (1 - powf(C, 0.286))
B * (1 - D)
B * (E)
F
仅仅是为了获取信息,BEDMAS没有得到充分的关注。如果D& M在同一级别,最左侧将首先评估,A& S的规则也是如此。 S.然而,这并不是什么大不了的事,但是当涉及截断和使用十进制数进行舍入时,它会产生一个大问题。
a * b / c is calculated as "(a*b) / c"
,而
a / b * c is calculated as "(a/b) * c"