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

Format 0,0#### - не работает

Добавлено: 06 июл 2017, 17:46
_Андрей_
Из БД приходит строка в DataBand 0,54500
А в отчёте нужно её отобразить как 0,545

Должен работать метод
{Format("{0:0,0####}", Retail_Make_ver_9.Postuplenie_vsego_zak)}

Но отображает всё равно как 0,54500
В чём может быть проблема ?

Re: Format 0,0#### - не работает

Добавлено: 06 июл 2017, 17:58
HighAley
Здравствуйте, Андрей.

Проблема в том, что строку надо преобразовать с число.
Попробуйте явно преобразовать тип.

Спасибо.

Re: Format 0,0#### - не работает

Добавлено: 07 июл 2017, 12:17
_Андрей_
как показали тесты проблема в том, что на вход нужно дать Decimal с разделителем {. точка},
а если даёшь Decimal с разделителем {,}, то ни какой реакции.

{System.Convert.ToDecimal("25,54800")} - 25,54800 - Decimal
Результат: 25,54800 - 25,54800 - Decimal

{System.Convert.ToDecimal(25.54800)} - 25.54800 - Decimal
Результат: 25,548 - 25.54800 - Decimal

При этом я смотрю что метод Replace(",", ".") не поддерживается

Как нам получить нужный формат если на входе строка "25,54800" , а нужно вывести как 25,548 ???

И ещё вопрос, у вас же там есть доступ к редактору кода, но как в него попасть это загадка!
Как мне открыть редактор кода для страницы ? И Можно ли в нём свою обработку добавлять ?


HighAley писал(а):Здравствуйте, Андрей.

Проблема в том, что строку надо преобразовать с число.
Попробуйте явно преобразовать тип.

Спасибо.

Re: Format 0,0#### - не работает

Добавлено: 11 июл 2017, 14:11
Леонид
День добрый!

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

      string dbString = "0,54500";
      decimal x = System.Convert.ToDecimal(dbString); // 0.54500M
      string s1 = x.ToString("0.000"); // 0,545 <-- то что вам нужно
      string s2 = x.ToString("0.000").Replace(",", "."); // 0.545 // <-- то вам нужно?

      string s3 = string.Format("{0:0,0####}", x); // "000 001" <-- вот это ваша строка, здесь вообще ерунда написана
При этом я смотрю что метод Replace(",", ".") не поддерживается
Поддерживается, т.к. стандартный функционал C#, и соответственно он применим к любой строке.
И ещё вопрос, у вас же там есть доступ к редактору кода, но как в него попасть это загадка!
Как мне открыть редактор кода для страницы ? И Можно ли в нём свою обработку добавлять ?

Re: Format 0,0#### - не работает

Добавлено: 12 июл 2017, 13:44
_Андрей_
Леонид спасибо за ваш ответ, он помог разобраться.

Re: Format 0,0#### - не работает

Добавлено: 17 июл 2017, 11:25
HighAley
Здравствуйте, Андрей.

С вашей проблемой всё намного проще.
Две операции с числами производятся в текущей культуре.
Культура берётся из настроек системы или её можно задать в свойствах отчёта.

Вы не привели пример использования метода Replace(). Он работает на наших примерах без проблем.

Посмотрите приложенный отчёт и попробуйте в нём изменить культуру на "ru-RU" и "en-US".

Спасибо.