0

我正在尝试从一个名为的实体中提取数据,latLongInfo并尝试获取纬度结果在一定范围内的所有结果。下面的代码应该可以工作,但不是:

Filter lowerLatF = new FilterPredicate("lat", FilterOperator.GREATER_THAN, botLat);
Filter topLatF = new FilterPredicate("lat", FilterOperator.LESS_THAN, topLat);
Filter twoFilter = CompositeFilterOperator.and(lowerLatF, topLatF);
Query rip = new Query("latLongInfo").setFilter(twoFilter);
PreparedQuery ripQ = datastore.prepare(rip);
List<Entity> llResult = ripQ.asList(FetchOptions.Builder.withLimit(15));
int sizeOfList=llResult.size();

botLatis的值和is40.94495459565217的值。topLat41.3797372043

在我从中提取数据的数据存储区中,结果lat = 41.1623459是,上面的代码没有找到它并一直给我一个sizeOfList = 0.

我应该至少得到一个结果,但它没有返回它。我缺少一些简单的东西吗?

4

1 回答 1

0

我想通了。我将 lat 保存为字符串,而不是数字浮点数或双精度数。一旦我将其更改为保存双精度数(这些实际上已转换为数据存储中的浮点数),我就可以毫无问题地进行比较。

决定回答我自己的问题......以防这对其他人有帮助。

于 2013-05-30T02:05:06.420 回答