it-swarm.com.de

wie man den doppelten Wert überprüft, ist leer oder nicht

ich versuche, Double-Wert von JSON zu erhalten. Ich möchte fragen, wie überprüft werden soll, ob Double-Wert leer ist oder nicht.

so initialisiere ich es Private Static

final String kartu_xcord = "xcord";
    private static final String kartu_ycord = "ycord";
    ouble xcord,ycord;

so analysiere ich meinen json:

xcord = c.getDouble(kartu_xcord);
ycord = c.getDouble(kartu_ycord);

so versuche ich zu überprüfen, ob xcord null oder leer ist:

if (xcord.isNaN()) {
            LinlayNoMap.setVisibility(View.VISIBLE);
        } else {
            linlaymap.setVisibility(View.VISIBLE);
}

ich hoffe jemand kann mir helfen mein problem zu lösen danke

5
Aoyama Nanami

Stellen Sie es auf Double not double und überprüfen Sie, ob der Wert für Double null ist. In Java darf der Wert für double nicht null sein.

12
nsgulliver

In Java kann double nicht null sein.

3
Arash GM

Es kann nicht null oder leer sein. Es ist ein doppelter Wert. Vielleicht versuchen Sie es mit dem Double Wrapper?

1
Kayaman

Sie könnten überprüfen, ob Ihr json den Schlüssel hat, den Sie suchen:

if (c.hasDouble("my_coord")) {
  y_coord = c.getDouble("my_coord");
}

wenn y_coord eine Double ist (mit dem Großbuchstaben D), können Sie sie auf null setzen.

if (c.hasDouble("my_coord")) {
  y_coord = c.getDouble("my_coord");
} else {
  y_coord = null;
}

Dies hängt natürlich von der API ab, die Sie zum Lesen Ihrer JSON verwenden. Die hasDouble-Methode kann auch als etwas anderes bezeichnet werden. Ich empfehle Ihnen, es mit GSON zu versuchen, das ist sehr einfach und erledigt den größten Teil der Parsing-Arbeit für Sie.

1

doubles können in Java niemals null sein. Sie können stattdessen die hasKey-Methode von Json verwenden, um zu überprüfen, ob das Element, das Sie analysieren, den Wert enthält.

c.hasKey("xcord")
0
josephus

angenommen, Sie verwenden JSONObject. Sie können dies tun

xcord = c.optDouble(kartu_xcord, Double.MIN_VALUE);

if (xcord == Double.MIN_VALUE){
  //xcord is empty
}
0
william