#c_sharp
Доброго времени суток! Имеется переменная, которая принимает разные значения: от 0 до "много-много"(12358964). Как сделать, чтобы оно разбивалось на тысячи, десятки тысяч, сотни тысяч, миллионы и т.д.? Т.е., 10.000, 1.000, 12.358.964. balance.text = int sum; update.text = int income;
Ответы
Ответ 1
Вы не поверите — но это задача обычного .ToString(): double value = 1234567890; Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture)); Вывод: Обратите внимание — что в разных странах приняты свои разделители и указывая языковую культуру вы можете управлять и настраивать поведение разделителей. Например в русской локали разделитель — пробел: var culture = new CultureInfo("ru-RU"); Console.WriteLine(value.ToString("#,#", culture)); А в немецкой — точки, как вы и хотели: var culture = new CultureInfo("de-DE"); Console.WriteLine(value.ToString("#,#", culture)); А можно и в русской локали переопределить один параметр — и будет вам разделитель точкой, а все остальные параметры - как в русской локали по умолчанию: var culture = new CultureInfo("ru-RU") { NumberFormat = { NumberGroupSeparator = ".", }, }; Console.WriteLine(value.ToString("#,#", culture)); Почитайте подробнее про форматирование чисел в документации: Строки настраиваемых числовых форматов- мой пример как раз отсюда Типы форматирования в .NET - обзорный материал по форматированию
Комментариев нет:
Отправить комментарий