Member 13645114 Ответов: 3

Пожалуйста, помогите мне, чтобы решить эту проблему C# 5/2 = 2?


{ удвоение = 5/2;
вверх = математика.Потолок(вверх);

удвоение = 5/2;
вниз = математика.Этаж(вниз);

Ящик для сообщений.Показать("вверх" + вверх + "вниз" + вниз);
}

"результат из MessageBox-это" вверх 2 вниз 2"
"я хочу, чтобы результат был" вверх 3 вниз 2"

Что я уже пробовал:

у меня есть попытка 5/2 или
а = 5/2
удвоение = a;
вверх = математика.Потолок(вверх);

3 Ответов

Рейтинг:
4

Member 12920013

просто используйте int

int down= 5/2; // down=2
int mod = 5%2; // mod =1

int down= 6/2; // down=3
int mod = 6%2; // mod =0


Рейтинг:
24

F. Xaver

вы можете использовать / и потолок ..

ваша проблема заключается в следующем
х = 5/2
x-это уже 2, а не 2,5, как вы можете предположить. Вам нужно изучить такого рода проблемы с отладчиком. чтобы увидеть, делает ли код то, что вы хотите, чтобы он делал

в этом случае / on int numbers возвращает вам .. int numbers, а не удваивается, как вы намереваетесь

x = (двойной)5/2
x будет равен 2,5, так как вы используете / на двойном значении

теперь математика.Потолок и математика.Пол будет работать как и ожидалось


Рейтинг:
0

Patrice T

Цитата:
Пожалуйста, помогите мне, чтобы решить эту проблему C# 5/2 = 2?

Здесь нечего решать. 5/2 - это целочисленное деление с целочисленным результатом.
Если вам нужно деление с плавающей запятой, попробуйте:
double up = 5/2.0;
// or
double up = 5.0/2;