Google App Engine GREATER_THAN和LESS_THAN比较运算符无法正常工作

时间:2013-05-29 16:22:22

标签: google-app-engine comparison operator-keyword

我正在尝试从名为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();

botLat的值为40.94495459565217topLat的值为41.3797372043

在数据存储区中,我从lat = 41.1623459获取结果,但是上面的代码找不到它并继续给我一个sizeOfList = 0

我应该得到至少一个结果,但它不会返回它。我有什么简单的遗失吗?

1 个答案:

答案 0 :(得分:0)

我想出来了。我将lat保存为String而不是数字float或double。一旦我改变它以保存双打(这些实际上转换为数据存储区中的浮动)我能够进行比较而没有问题。

决定回答我自己的问题......如果这有助于其他任何人。