Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmNcFrL 66 of 436 menu
◀ ▶

Потеря дробной части в C#

Дробная часть может пропасть, даже когда переменная остается int или double. Главное - какие типы стоят внутри действия и как записан результат.

Деление двух int всегда дает целое. Хвост отбрасывается, переменные тип не меняют:

int num1 = 7; int num2 = 2; Console.WriteLine(num1 / num2); // prints 3

Если хотя бы одно число double, дробь сохраняется. Целое на время деления расширяется:

int num1 = 7; double num2 = 2.0; Console.WriteLine(num1 / num2); // prints 3.5

Запишем целое в double и поделим на целое. Первое число уже дробное, хвост остается:

int num1 = 7; double num2 = num1; Console.WriteLine(num2 / 2); // prints 3.5

Дробный результат в int сам не ляжет. Чтобы взять только целую часть, число явно приводят к int. Хвост снова пропадает:

double num = 7.9; Console.WriteLine((int) num); // prints 7

Сначала деление, потом приведение. Дробь в делении уже потеряна, и к int доходит только целое:

int num1 = 9; int num2 = 4; Console.WriteLine((int) (num1 / num2)); // prints 2

Дан следующий код:

int num1 = 11; int num2 = 4; Console.WriteLine(num1 / num2);

Скажите, что выйдет на экран.

Даны две переменные:

int num1 = 11; double num2 = 4.0;

Найдите частное и выведите его.

Дана переменная:

double num = 11.9;

Выведите целую часть этого числа без округления до ближайшего целого.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить