Как преобразовать значение double
в int
, выполнив следующие действия:
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
То есть, ответ всегда округляется.
Как преобразовать значение double
в int
, выполнив следующие действия:
Double If x = 4.97542. Convert to int x = 4.
Double If x = 4.23544. Convert to int x = 4.
То есть, ответ всегда округляется.
Если вы явно отбрасываете double
до int
, десятичная часть будет усечена. Например:
int x = (int) 4.97542; //gives 4 only
int x = (int) 4.23544; //gives 4 only
Кроме того, вы можете также использовать метод Math.floor()
для округления значений, если вы хотите вернуть значение double
.
Если double равен Double
с капиталом D (примитивное значение в штучной упаковке):
Double d = 4.97542;
int i = (int) d.doubleValue();
// or directly:
int i2 = d.intValue();
Если double уже является примитивным Double
, тогда вы просто бросаете его:
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);
Двойное значение - 420,5, и приложение выдает целочисленное значение 420
Другим вариантом использования Double
или Double
является использование Double.valueOf(double d).intValue();
. Простой и чистый
Я думаю, что у меня был лучший результат, особенно для сортировки двойного типа данных.
Хотя этот вопрос был отмечен как ответ, возможно, это поможет кому-то другому;
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);
}
});