TGViewer
Mikhail Kolobov | Gamedev Forge Mikhail Kolobov | Gamedev Forge @gamedevforge · 1.08K subscribers
Post #99 923

Forwarded from StepOne | Степан Минин

А как там строки форматировать то?

Форматирование строк в 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
  • 👍 13
More from @gamedevforge
  1. Oct 2, 2026Сколько бы времени ни прошло, для меня все равно самое тупое в резюме - это "достижения" В…
  2. Sep 22, 2026Это пока что мое любимое видео про создание игры целиком через ИИ. В отличие от всех говно…
  3. Sep 21, 2026Спорим, большинство закинут книгу в гпт и спросят "перескажи кратко че там"?
  4. Sep 10, 2026Пока все теребонькали свои клоды и кодексы, то пропустили самую ненужную фичу
  5. Sep 9, 2026Claude выкатил список скиллов для Unity https://claude.com/plugins/unity И чет... хз, звуч…
  6. Sep 5, 2026Ну что, кто-то уже сделал GTA 7 в один промпт на GPT 6 Astra?
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →