如何检查double值是否为空

时间:2013-10-02 09:03:36

标签: java android json

我试图从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);
}

我希望有人能帮我解决问题谢谢

7 个答案:

答案 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
}