【发布时间】:2020-04-28 09:50:53
【问题描述】:
大家好,我一直在安卓应用上使用这个公式
valor = Math.pow(2.7183d, (((1.17896d * diametro) / 100.0d) + (0.8241d * logb(diametro / 100.0d, 2.7183d))) + 3.4987d);
现在我在 Swift ios 中实现,但我找不到 logb(double,double) 的解决方案,唯一在 swift 上活跃的是 logb(double) p>
resultado = pow(2.7183, (((2.006969 * diametro!) / 100.0) - (0.445893 * logb(diametro! / 100.0, 2.7183))) + 2.755621)
但我得到“编译器无法在合理的时间内对该表达式进行类型检查;尝试将表达式分解为不同的子表达式”
【问题讨论】:
-
"尝试将表达式分解为不同的子表达式" 你认为这是什么意思?您正在使用过于复杂的计算。打破它。比如“让 someVar = (2.006969 * diametro!) / 100.0,然后在结果计算中使用。等
-
logb(double, double)是做什么的?