我正在尝试从名为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.94495459565217
,topLat
的值为41.3797372043
。
在数据存储区中,我从lat = 41.1623459
获取结果,但是上面的代码找不到它并继续给我一个sizeOfList = 0
。
我应该得到至少一个结果,但它不会返回它。我有什么简单的遗失吗?
答案 0 :(得分:0)
我想出来了。我将lat保存为String而不是数字float或double。一旦我改变它以保存双打(这些实际上转换为数据存储区中的浮动)我能够进行比较而没有问题。
决定回答我自己的问题......如果这有助于其他任何人。