Comment convertir une valeur double
en int
en procédant comme suit:
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
C'est-à-dire que la réponse est toujours arrondie.
Si vous explicitement castdouble
à int
, la partie décimale sera tronquée. Par exemple:
int x = (int) 4.97542; //gives 4 only
int x = (int) 4.23544; //gives 4 only
De plus, vous pouvez également utiliser la méthode Math.floor()
pour arrondir les valeurs au cas où vous voudriez que la valeur double
soit renvoyée.
Si le double est une Double
avec majusculeD(valeur primitive encadrée):
Double d = 4.97542;
int i = (int) d.doubleValue();
// or directly:
int i2 = d.intValue();
Si le double est déjà une primitive double
, lancez-le simplement:
double d = 4.97542;
int i = (int) d;
double myDouble = 420.5;
//Type cast double to int
int i = (int)myDouble;
System.out.println(i);
La valeur double est 420.5 et l'application imprime la valeur entière de 420
Une autre option utilisant Double
ou double
est d'utiliser Double.valueOf(double d).intValue();
. Simple et propre
Je pense que j'ai eu une meilleure sortie, en particulier pour un tri double type de données.
Bien que cette question ait reçu la réponse, cela aidera peut-être quelqu'un d'autre.
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);
}
});