我目前有一个使用蓝牙信号计算距离的项目。
我从Estimote SDK util获得的代码下面。我想知道这段代码中“D”含义是什么,然后rssi等于0将返回-1.0D。
private static double computeAccuracy(int rssi, int measuredPower) {
if(rssi == 0) {
return -1.0D;
} else {
double ratio = (double)rssi / (double)measuredPower;
double rssiCorrection = 0.96D + Math.pow((double)Math.abs(rssi), 3.0D) % 10.0D / 150.0D;
return ratio <= 1.0D?Math.pow(ratio, 9.98D) * rssiCorrection:(0.103D + 0.89978D * Math.pow(ratio, 7.71D)) * rssiCorrection;
}
}
答案 0 :(得分:1)
&#34; d&#34;指双重值。并检查一下 - https://estimote.github.io/Android-SDK/JavaDocs/com/estimote/sdk/Utils.html。 &#34; -1&#34;当没有计算精度时返回。