我正在尝试使用大于或小于值的粗略来比较纬度和经度。我需要能够传递纬度,经度和要舍入的数字位数。如果我有这些值,例如:
18.363285 -67.18024
18.448619 -67.13422 <----- Only second value matched
18.498987 -67.13699 <----- Both values matched
18.465162 -67.141486
18.182151 -66.9588
选择中间作为匹配的中间,我想传入18.49(1234567)作为纬度,-67.13(1234567)作为经度, 2 作为要舍入的小数。我打算将给定的纬度和经度向下舍入 2 位置以获得下限,然后将 0.02 添加到此处以获得上限。
我被困在最后一部分。我想不出一个数学函数,它以4作为输入并返回0.00004。
除非我过于复杂,否则有一种简单的方法可以匹配公差范围内的一组值。
编辑:例如,我需要传递这些数字并获取这些值:
In Out
1 0.01
2 0.001
3 0.0001
4 0.00001
5 0.000001
6 0.0000001
答案 0 :(得分:4)
使用Math.Abs:
if (Math.Abs(value1 - value2) <= 0.01) {
// close enough
// etc...
}
从Math.Pow计算分数(10,-numberOfDigitsInTheFraction);
答案 1 :(得分:1)
private double Calc(int places)
{
return 1 / (Math.Pow(10, places + 1));
}