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

Обсуждение Stimulsoft Reports.JAVA
Ответить
Golland
Сообщения: 80
Зарегистрирован: 03 окт 2012, 17:03

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

Сообщение Golland »

Добрый день! Подскажите пож. можно ли отформатировать строку динамически,т.е. с использованием условий и т.д.. В документации нашел {string.Format(“{0:C}”, value)}, но я так понимаю, что в этом продукте такой синтаксис не поддерживается. В целом задача, следующая. Нужно отформатировать числовое значение в поле в зависимости от условия или с одним знаком после запятой или с двумя знаками после запятой или вообще без дробной части. Пробовал использовать custom format типа G, но, когда значение целое, он не показывает .00 после него значения. Т.е. выглядит так, 123 вместо 123,00
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

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

Сообщение Vladimir »

Здравствуйте,

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

Спасибо.
Golland
Сообщения: 80
Зарегистрирован: 03 окт 2012, 17:03

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

Сообщение Golland »

Добрый день! Спасибо за ответ. В целом такой синтаксис работает, но:
если записать {Format("{0:N2}", 34.5467)} то результат будет не 34.54, а 34.55, т.е. произойдет округление. Подскажите, как нужно записать, чтобы округление не производилось и результат был 34.54.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

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

Сообщение HighAley »

Здравствуйте.

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

Спасибо.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

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

Сообщение HighAley »

Здравствуйте.

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

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

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