Подтвердить что ты не робот

Преобразование double в Int, округленное вниз

Как преобразовать значение double в int, выполнив следующие действия:

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

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

То есть, ответ всегда округляется.

4b9b3361

Ответ 1

Если вы явно отбрасываете double до int, десятичная часть будет усечена. Например:

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

Кроме того, вы можете также использовать метод Math.floor() для округления значений, если вы хотите вернуть значение double.

Ответ 2

Если 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;

Ответ 3

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

Двойное значение - 420,5, и приложение выдает целочисленное значение 420

Ответ 4

Другим вариантом использования Double или Double является использование Double.valueOf(double d).intValue();. Простой и чистый

Ответ 5

Я думаю, что у меня был лучший результат, особенно для сортировки двойного типа данных.

Хотя этот вопрос был отмечен как ответ, возможно, это поможет кому-то другому;

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);
         }
    });