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%

Естественно я перечислил не все возможные способы форматирования и форматы, но перегружать статью уж очень узкой спецификой как-то не хочется…

Добавить комментарий