负数的比较结果是错误的

2024-09-29 02:18:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个位置边界框的测试,但是当比较负(南或西)位置与其他负位置时,结果会颠倒过来。在

if minlat > maxlat:
    minlat, maxlat = swap(minlat, maxlat)
if minlon > maxlon:
    minlon, maxlon = swap(minlon, maxlon)

当比较北半球的纬度或南半球和北半球的位置时,这种方法很有效,但是当比较南半球的位置时,它会使它们反过来(即-20.4小于-20.8)。是否有一个简单的解决方案,或者如果两个值都小于0,我必须做一个不同的测试?在


Tags: 方法if解决方案边界swap纬度minlatmaxlat
2条回答

通常情况下,您希望比较绝对值而不是实际值,请尝试

if abs(minlat) > abs(maxlat):

祝你好运!在

if float(minlat) > float(maxlat):

确保所比较的数字实际上是数字而不是字符串对象。比较使用小于或大于的字符串对象可能会产生奇怪的结果。在

相关问题 更多 >