Требуется, что бы число N выводилось согласно: целая часть числа в разбивне пробелом на тысячи, миллионы, миллиарды ...
Пример:
N = 1000000,0001 => out: 1 000 000,0001
Вопрос: как это сделать, есть ли что-то встроенное или изобретать велосипед?
Для решения вашей задачи нужно использовать строки форматирования. Также, следует добавить локаль, если ваш поток не гарантированно имеет правильную локаль:
N.ToString(format)
или
var ci = CultureInfo.GetCultureInfo("ru-RU");
N.ToString(format, ci)
Вопрос в том, какую взять форматную строку.
Стандартная форматная строка N
почти подходит вам: она выводит целую часть разделённой на части согласно вашей локали, но она обрезает число на ci.NumberFormat.NumberDecimalDigits
, где ci
— ваша явно или неявно указанная локаль.
1000000.0001.ToString("N") == "1 000 000,00"
Если вы вместо этого попытаетесь использовать N18
, то в конце числа будут выводиться незначащие нули:
1000000.0001.ToString("N18") == "1 000 000,000100000000000000"
Поэтому вам придётся использовать настраиваемую форматную строку. Для ваших целей подойдёт "#,0.##################"
, которая включает разделители тысяч (,
), десятичную запятую (.
) и опускает незначащие нули (#
):
1000000.0001.ToString("#,0.##################") == "1 000 000,0001"
Не забывайте, что в других локалях используются другие разделители:
1000000.0001.ToString("#,0.##################", CultureInfo.GetCultureInfo("en-US")) ==
"1,000,000.0001"
Кстати, форматную строку можно использовать не только в ToString
, но также и в string.Format
, и в интерполируемых строках.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прошу помощи, имеется следующая проблема с десериализациейЕсть список машин, при добавление в который, список сериализуется в файл
Добрый деньЕсть документ Excel, который необходимо сохранить в PDF