Преобразование через класс Convert в C#
Класс Convert собирает готовые методы
для перевода между типами. Их вызывают по имени
класса, без создания переменной Convert.
Метод Convert.ToDouble кладет целое
в дробный тип. Число остается тем же:
int num1 = 12;
double num2 = Convert.ToDouble(num1);
Console.WriteLine(num2); // prints 12
Метод Convert.ToInt32 берет дробь
и возвращает int с округлением.
Это не то же самое, что приведение в скобках:
double num = 7.9;
int viaCast = (int) num;
int viaConvert = Convert.ToInt32(num);
Console.WriteLine(viaCast); // prints 7
Console.WriteLine(viaConvert); // prints 8
На середине между двумя целыми Convert.ToInt32
округляет к четному. Сравним 1.5 и 2.5:
double num1 = 1.5;
double num2 = 2.5;
Console.WriteLine(Convert.ToInt32(num1)); // prints 2
Console.WriteLine(Convert.ToInt32(num2)); // prints 2
Тот же int можно получить и через
Convert.ToInt32 от целого double
без дробной части. Приведение в скобках
и метод дадут одно и то же:
double num = 15.0;
int viaCast = (int) num;
int viaConvert = Convert.ToInt32(num);
Console.WriteLine(viaCast); // prints 15
Console.WriteLine(viaConvert); // prints 15
Дана переменная:
int num = 9;
Запишите ее в double через Convert.ToDouble
и выведите новую переменную.
Дана переменная:
double num = 6.4;
Получите из нее int через Convert.ToInt32
и выведите результат.
Даны две переменные:
double num1 = 4.2;
double num2 = 4.5;
Запишите для каждой число типа int через
приведение в скобках и через Convert.ToInt32.
Выведите все четыре результата.