我试图从json获取Double值,我想问一下如何检查double值是否为空?
这就是我的初衷 私人静态
final String kartu_xcord = "xcord";
private static final String kartu_ycord = "ycord";
ouble xcord,ycord;
这是我解析我的json的方式:
xcord = c.getDouble(kartu_xcord);
ycord = c.getDouble(kartu_ycord);
这是我尝试检查xcord是空还是空的方法:
if (xcord.isNaN()) {
LinlayNoMap.setVisibility(View.VISIBLE);
} else {
linlaymap.setVisibility(View.VISIBLE);
}
我希望有人能帮我解决问题谢谢
答案 0 :(得分:12)
将其设为Double
而不是double
并检查Double
值是否为空,在java double
中的值不能为空。
答案 1 :(得分:3)
在Java中double
不能是null
。
答案 2 :(得分:1)
它不能为null或为空。这是双重价值。也许试试Double wrapper?
答案 3 :(得分:1)
您可以检查您的json是否具有您所在区域的关键字:
if (c.hasDouble("my_coord")) {
y_coord = c.getDouble("my_coord");
}
如果y_coord是Double
(使用大写D),则可以将其设置为null。
if (c.hasDouble("my_coord")) {
y_coord = c.getDouble("my_coord");
} else {
y_coord = null;
}
这当然取决于您用来阅读JSON
的API,hasDouble
方法可以被称为其他内容。我建议您尝试GSON
,非常简单,并将为您处理大部分解析工作。
答案 4 :(得分:0)
在Java中,双精度数永远不能为空。
您可以使用Json的hasKey
方法来检查您正在解析的项是否包含该值。
c.hasKey("xcord")
答案 5 :(得分:0)
使用Double,而不是double。
Double dValue= someVariable;
if(!dValue.isNaN())
{
// you code here
}
答案 6 :(得分:0)
假设您正在使用JSONObject,您可以执行此操作
xcord = c.optDouble(kartu_xcord, Double.MIN_VALUE);
if (xcord == Double.MIN_VALUE){
//xcord is empty
}