. Net Формат строки для чисел с группировкой и подавлением нулевого значения - PullRequest
0 голосов
/ 25 марта 2020

У меня есть отчет Dev Express, использующий строки формата для чисел {0: n0}, {0: n1}, {0: n2} и {0: n3}.

Эти строки формата кажется стандартным. Net строки формата, и они помещают разделители групп между тройками цифр, а также округляют десятичные дроби до 0, 1, 2 и 3 разрядов соответственно.

например, число 12345678.976543 отформатировано как следует.

  • {0: n0} форматирует до 12 345 679
  • {0: n1} форматирует до 12 345 679,0
  • {0: n2} форматирует до 12 345 678,98
  • {0: n3} форматирует до 12 345 678,977

(это можно проверить на этой странице )

Моя проблема в том, что число 0 также отформатированный в этом стиле, то есть

  • 0,
  • 0,0,
  • 0,00 и
  • 0,000

соответственно , Но я хочу, чтобы 0 было подавлено, то есть отформатировано в пустую строку. Я могу почти достичь этого с помощью следующих строк формата:

  • {0: 0.; - 0.; #} Вместо {0: n0}
  • {0: 0. #; - 0. #; #} Вместо {0: n1}
  • {0: 0. ##; - 0. ##; #} вместо {0: n2} и
  • {0: 0. ###; - 0. ###; #} вместо {0: n3}

Все эти строки формата подавляют ноль, как я намереваюсь, но группировка отсутствует в формате. Для приведенного выше примера они дают следующие значения:

  • {0: 0.; - 0. # #} Форматируются в 12345679
  • {0: 0. #; - 0. #; #} форматирует до 12345679
  • {0: 0. ##; - 0. ##; #} форматирует до 12345678.98
  • {0: 0. ###; - 0. ###; #} форматирует в 12345678.977

Как изменить строки форматирования, чтобы они сохраняли все свойства исходных (включая группирование), кроме того, что подавляют ноль?

...