【发布时间】:2012-04-04 13:57:35
【问题描述】:
PHP 是否有某种可以比较数字的函数?我知道他们有像similar_text() 这样的文本比较但是说我想比较纬度/经度值,它们非常相似但差别很小
示例:
place 1
lat: 34.095161
lng: -117.720638
compare with
lat: 34.0948841
lng: -117.7206854
place 2
lat: 34.094572563643
lng: -117.72184828904
compare with
lat: 34.094112
lng: -117.7250746
它们可能彼此非常接近,我希望能够获得一定的范围?我可以使用一些 PHP 函数吗?
谢谢
【问题讨论】:
-
为什么不只是
round()他们达到你想要的任何程度的准确度? -
similar_text计算两个字符串之间的一种“距离”。对于数字,等价于abs($lat1 - $lat2)。 -
@Interrobang 我不想四舍五入,因为四舍五入 lat 和 lng 会导致不良结果
-
@ruakh 我不明白为什么绝对值会与
similar_text相似,虽然这对我获得绝对值很有帮助,我可以检查一个范围,但是你用你的语句表达的方式似乎绝对值会给你一个不正确的两个数字之间的比较。 -
@andrewliu:两个数之间差的绝对值是他们之间的比较。绝对值越大,距离越大。
标签: php function comparison numbers