Страница 1 из 1

Форматирование строки

Добавлено: 24 дек 2013, 13:29
Golland
Добрый день! Подскажите пож. можно ли отформатировать строку динамически,т.е. с использованием условий и т.д.. В документации нашел {string.Format(“{0:C}”, value)}, но я так понимаю, что в этом продукте такой синтаксис не поддерживается. В целом задача, следующая. Нужно отформатировать числовое значение в поле в зависимости от условия или с одним знаком после запятой или с двумя знаками после запятой или вообще без дробной части. Пробовал использовать custom format типа G, но, когда значение целое, он не показывает .00 после него значения. Т.е. выглядит так, 123 вместо 123,00

Re: Форматирование строки

Добавлено: 24 дек 2013, 15:57
Vladimir
Здравствуйте,

Вы можете использовать следующее выражение для форматирования чисел:
{Format("{0:N2}", value)}

Спасибо.

Re: Форматирование строки

Добавлено: 25 дек 2013, 15:29
Golland
Добрый день! Спасибо за ответ. В целом такой синтаксис работает, но:
если записать {Format("{0:N2}", 34.5467)} то результат будет не 34.54, а 34.55, т.е. произойдет округление. Подскажите, как нужно записать, чтобы округление не производилось и результат был 34.54.

Re: Форматирование строки

Добавлено: 27 дек 2013, 18:41
HighAley
Здравствуйте.

К сожалению, на данный момент это невозможно.
Мы рассматриваем возможные пути решения вашей проблемы.

Спасибо.

Re: Форматирование строки

Добавлено: 27 дек 2013, 18:59
HighAley
Здравствуйте.

Можем предложить вам такое решение:

Код: Выделить всё

{value.ToString().IndexOf(".") == -1 ? value.ToString() + ".00" : (value.ToString() + "000").Substring(0, value.ToString().IndexOf(".") + 3)}
Спасибо.