Я хочу ввести W в массив int. Как я могу это сделать? Извините за паршивый вопрос или английский.Преобразование double в int
public void setX (int Y , double W)
{
array[Y] = W;
}
Я хочу ввести W в массив int. Как я могу это сделать? Извините за паршивый вопрос или английский.Преобразование double в int
public void setX (int Y , double W)
{
array[Y] = W;
}
Если вы счастливы усечение в сторону 0 - и получить int.MIN_VALUE
или int.MAX_VALUE
, если значение находится вне диапазона int
- вы можете просто бросить:
array[Y] = (int) W;
Если вы а не доволен этими оговорками, вы должны переоценить свой дизайн - подумайте о том, что вы хотите, чтобы произойти, например если W
- 15.25
. Если вам нужно сохранить всю исходную информацию, вы должны использовать double[]
, а не int[]
.
(Вы также должны пересмотреть свои имена параметров, если это ваши настоящих имен. Читайте на Java именовании.)
Вы можете попробовать округлить значение сначала 'array [Y] = (int) Math.round (W);' –
W будет как 7.5 или что-то с десятичной и не будет округлено. Что мне делать? Пожалуйста посоветуй. Many Thanks –
@WillieHii: Ну, как он не может быть округлен вообще, если ваш массив целых чисел? Что вы хотите, чтобы значение элемента массива было потом? Это не может быть 7.5 ... –
array[Y]
следует delcared быть носовыми вы Asign и Y будет меньше размер этого массива.
array[Y] = Integer.valueOf(W + "");
Выше линии поможет
Непонятно, на что вы думаете, что это ответ, но он не решает вопрос. –
Прошу прощения за смущение. Я отредактировал его. Спасибо за комментарий – lethanh
Это все еще не скомпилировало бы - какая перегрузка 'Integer.valueOf' вы ожидали бы использовать? –
Вы потеряете дробную часть. –