it-swarm.com.de

Konvertiere doppelt in Int, abgerundet

So konvertieren Sie einen double-Wert in int, indem Sie Folgendes tun:

Double If x = 4.97542. Convert to int x = 4.

Double If x = 4.23544. Convert to int x = 4.

Das heißt, die Antwort wird immer abgerundet.

43
Vogatsu

Wenn Sie cast double explizit in int umwandeln, wird der Dezimalteil abgeschnitten. Zum Beispiel:

int x = (int) 4.97542;   //gives 4 only
int x = (int) 4.23544;   //gives 4 only

Außerdem können Sie die Math.floor()-Methode verwenden, um Werte zu runden, falls Sie double-Wert zurückgeben möchten.

88
waqaslam

Wenn das Doppel eine Double mit dem KapitalDist (ein geschachtelter primitiver Wert):

Double d = 4.97542;
int i = (int) d.doubleValue();

// or directly:
int i2 = d.intValue();

Wenn das Double bereits ein primitives double ist, dann gießen Sie es einfach:

double d = 4.97542;
int i = (int) d;
26
Natix
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);

Der doppelte Wert ist 420,5 und die Anwendung gibt den ganzzahligen Wert von 420 aus

5
Habib

Eine andere Option, die Double oder double verwendet, ist Double.valueOf(double d).intValue();. Einfach und sauber

3

Ich denke, ich hatte eine bessere Ausgabe, insbesondere für eine Sortierung mit doppeltem Datentyp.

Obwohl diese Frage als beantwortet markiert wurde, kann dies vielleicht jemand anderem helfen;

Arrays.sort(newTag, new Comparator<String[]>() {
         @Override
         public int compare(final String[] entry1, final String[] entry2) {
              final Integer time1 = (int)Integer.valueOf((int) Double.parseDouble(entry1[2]));
              final Integer time2 = (int)Integer.valueOf((int) Double.parseDouble(entry2[2]));
              return time1.compareTo(time2);
         }
    });
0
HexxonDiv