StepOne by Степан Минин @ststphn
Твой первый шаг к успеху в программировании
Закрытый тг канал https://t.me/tribute/app?startapp=slOA
По вопросам рекламы @Spiral_Yuri
Ютуб https://www.youtube.com/@steponeit
Post #308
3.43K
А как там строки форматировать то?
Форматирование строк в C# можно делать по-разному, причём, в зависимости как от потребностей, так и возможностей
Задача реализации метода
Вот, например, если вам нужно вывести куда-то номер телефона в красивом виде
То забудьте про разбиение числа на цифры, нарезку слайсов из получившегося массива и так далее.
Всё просто, ребятки:
Как вы поняли, циферки вот так элегантно подставляются на место решёточек🤩
Бывают случаи, когда нужно очень тонко настроить сериализацию чисел.
Группировочки всякие расставить, разделители по желанию заказчика...
Тогда, отдельно взятый кодер может упороться и начать писать алгоритм расчёта десятков или чего-нибудь ещё 🙄
А всего-то, надо просто знать про существование класса
Видел неоднократно в кодовых базах коммерческих проектов, когда при необходимости вывести строкой дату, начинаются приседания в духе - части даты отдельно, чтобы между ними поставить разделитель, и ещё положим тут словарик какой-нибудь для локализации 😫
Вывод: учите базу (MSDN):
Форматирование строк в C# можно делать по-разному, причём, в зависимости как от потребностей, так и возможностей
Задача реализации метода
ToString может посоревноваться в сложности с выбором названия переменной 😠Вот, например, если вам нужно вывести куда-то номер телефона в красивом виде
+7 (905) 123-45-67
То забудьте про разбиение числа на цифры, нарезку слайсов из получившегося массива и так далее.
Всё просто, ребятки:
long msisdn = 79051234567;
string phoneNumberFormatted = $"{msisdn:+# (###) ###-##-##}";
Как вы поняли, циферки вот так элегантно подставляются на место решёточек🤩
Бывают случаи, когда нужно очень тонко настроить сериализацию чисел.
Группировочки всякие расставить, разделители по желанию заказчика...
Тогда, отдельно взятый кодер может упороться и начать писать алгоритм расчёта десятков или чего-нибудь ещё 🙄
А всего-то, надо просто знать про существование класса
NumberFormatInfo, где есть всё необходимое:decimal someAmount = 1234.5678m;
var nfi = new NumberFormatInfo
{
NumberGroupSeparator = " ",
NumberDecimalSeparator = ",",
NumberDecimalDigits = 3,
};
var someAmountFormatted = someAmount.ToString("N", nfi); // 1 234,568
Видел неоднократно в кодовых базах коммерческих проектов, когда при необходимости вывести строкой дату, начинаются приседания в духе - части даты отдельно, чтобы между ними поставить разделитель, и ещё положим тут словарик какой-нибудь для локализации 😫
Вывод: учите базу (MSDN):
var date = new DateTime(2024, 05, 10);
var ru = CultureInfo.GetCultureInfo("ru-RU");
var dateFormatted = date.ToString("dd MMMM yyyy", ru); // 10 мая 2024
- 👍 49
- 🔥 7
- ❤ 2





