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

Операции с разными типами в C#

В одном действии могут стоять числа разных типов. Если рядом с int стоит double, целое на время действия становится double. Результат тоже получает тип double. Это называют расширением.

Сначала разделим два числа типа int. Оба целые, дробная часть отбрасывается. Смотрите пример:

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

Теперь делитель сделаем дробным. Целое расширяется до дробного, и хвост сохраняется:

int num1 = 5; double num2 = 2.0; Console.WriteLine(num1 / num2); // prints 2.5

Переменная num1 после деления остается int. Расширение живет только внутри действия.

Сложим целое 12 и дробь 12.5. Целое снова расширяется до double, сумма получается дробной:

int num1 = 12; double num2 = 12.5; Console.WriteLine(num1 + num2); // prints 24.5

Умножим целое 3 на дробь 2.5. Правило то же: результат дробный:

int num1 = 3; double num2 = 2.5; Console.WriteLine(num1 * num2); // prints 7.5

Дробный результат нельзя просто положить в int. Сумма целого и дробного сама в целую переменную не записывается, программа не собирается. Если оба числа одного типа, расширять нечего: сумма двух int остается целой:

int num = 12 + 12.5; // does not compile

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

int num1 = 5; double num2 = 2.0; Console.WriteLine(num1 / num2);

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

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

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

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

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

int num1 = 4; double num2 = 1.5; Console.WriteLine(num1 * num2);

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

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