C#. Форматирование строк. Преобразование числа в строку.
Доброго времени суток! В этой статье я расскажу (а скорее покажу) как в C# можно преобразовать число в строку, применяя при этом форматирование. Форматирование применяют, чтобы добиться определенных нюансов, например, ограничить количество символов после запятой в десятичной дроби и т.п. В этой статье, я постараюсь сделать уклон исключительно на практику. И так, приступим…
Первым делом, я покажу как можно просто преобразовать число в строку. Точнее, я покажу один из нескольких способов. По сути, он заключается в вызове метода «ToString()» на целочисленной переменной. Всё элементарно, см. код ниже:
//Простейшее преобразование числа в строку int someValue = 245; //Есть какая-то целочисленная переменная string someStr = someValue.ToString(); //Вызываем метод ToString, получаем строку "245"
А теперь я покажу как можно преобразовывать числа, используя форматирования. Для этого, мы уже будем использовать метод «Format» класса «string». Этот метод используется для того, чтобы вставить значение объекта (или нескольких объектов) в строку (в указанное место строки). Первый параметр данного метода как раз и есть строка, внутри которой указываются места вставки значений остальных параметров метода (их может быть как несколько, так и один). Места вставки обозначаются фигурными скобками, внутри которых указывается индекс параметра (начиная с нуля), и при необходимости форматирование. Например, ниже показано, как вставляются два целых числа в строку:
Console.WriteLine(string.Format("Первое число: {0}, и сразу же второе: {1}", 56, 65));
В результате Вы увидите следующую строку: «Первое число: 56, и сразу же второе: 65«. Ниже показаны примеры преобразования чисел в строки с использованием форматирования. Опции форматирования так же указываются в фигурных скобках, после индекса параметра. Индекс параметра и опции форматирования разделяются двоеточием. См. пример ниже.
//Преобразование числа в строку (вывод двух знаков после запятой) -------------------------------------- Console.WriteLine(string.Format("{0:0.00}", 51.2456)); //Будет округление до сотых - 51.25 Console.WriteLine(string.Format("{0:0.00}", 51.2)); //Будет добавлен один 0 после запятой - 51.20 //Преобразование числа в строку (вывод не более двух знаков после запятой) ----------------------------- Console.WriteLine(string.Format("{0:0.##}", 51.2456)); //Будет выполнено округление до сотых - 51.25 Console.WriteLine(string.Format("{0:0.##}", 51.2)); //Будет выведено как есть - 51.2 Console.WriteLine(string.Format("{0:0.##}", 51.0)); //Будет отброшен 0 после запятой - 51 //Преобразование числа в строку (вывод не менее двух знаков перед запятой) ----------------------------- Console.WriteLine(string.Format("{0:00.##}", 551.24)); //Будет выведено как есть - 551.24 Console.WriteLine(string.Format("{0:00.##}", 51.2)); //Будет выведено как есть - 51.2 Console.WriteLine(string.Format("{0:00.##}", 5.3)); //Будет добавлен 0 перед числом запятой - 05.3 //Преобразование числа в строку (вывод нулей у десятичных дробей, значение которых меньше 1) ------------ Console.WriteLine(string.Format("{0:0.00}", 0.25)); //Будет выведено как есть - 0,25 Console.WriteLine(string.Format("{0:#.00}", 0.25)); //Будет отброшен 0 перед запятой - .20 //Преобразование числа в строку (разделение на тысячи) -------------------------------------------------- Console.WriteLine(string.Format("{0:0}",10245)); //Будет выведено как есть - 10245 Console.WriteLine(string.Format("{0:0,0}", 10245)); //Будет проведено разделение по тысячам - 10 245 //И еще кое-что... //Вывод числа в шестнадцатеричном формате Console.WriteLine(string.Format("{0:X}", 255)); //Будет выведено - FF //Вывод экспоненциальные числа Console.WriteLine(string.Format("{0:E}", 5.54)); //Будет выведено - 5.540000E+000 //Вывод процентов Console.WriteLine(string.Format("{0:P}", 0.54)); //Будет умножено на 100 и добавлен знак % - 54.00%
Естественно я перечислил не все возможные способы форматирования и форматы, но перегружать статью уж очень узкой спецификой как-то не хочется…
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.