Из БД приходит строка в DataBand 0,54500
А в отчёте нужно её отобразить как 0,545
Должен работать метод
{Format("{0:0,0####}", Retail_Make_ver_9.Postuplenie_vsego_zak)}
Но отображает всё равно как 0,54500
В чём может быть проблема ?
Format 0,0#### - не работает
Re: Format 0,0#### - не работает
Здравствуйте, Андрей.
Проблема в том, что строку надо преобразовать с число.
Попробуйте явно преобразовать тип.
Спасибо.
Проблема в том, что строку надо преобразовать с число.
Попробуйте явно преобразовать тип.
Спасибо.
Re: Format 0,0#### - не работает
как показали тесты проблема в том, что на вход нужно дать 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 ???
И ещё вопрос, у вас же там есть доступ к редактору кода, но как в него попасть это загадка!
Как мне открыть редактор кода для страницы ? И Можно ли в нём свою обработку добавлять ?
а если даёшь 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#### - не работает
День добрый!
Код: Выделить всё
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" <-- вот это ваша строка, здесь вообще ерунда написана
Поддерживается, т.к. стандартный функционал C#, и соответственно он применим к любой строке.При этом я смотрю что метод Replace(",", ".") не поддерживается
И ещё вопрос, у вас же там есть доступ к редактору кода, но как в него попасть это загадка!
Как мне открыть редактор кода для страницы ? И Можно ли в нём свою обработку добавлять ?
- Вложения
-
- Clipboard02.png (78.07 КБ) 3741 просмотр
-
- Clipboard01.png (188.92 КБ) 3741 просмотр
Re: Format 0,0#### - не работает
Леонид спасибо за ваш ответ, он помог разобраться.
Re: Format 0,0#### - не работает
Здравствуйте, Андрей.
С вашей проблемой всё намного проще.
Две операции с числами производятся в текущей культуре.
Культура берётся из настроек системы или её можно задать в свойствах отчёта.
Вы не привели пример использования метода Replace(). Он работает на наших примерах без проблем.
Посмотрите приложенный отчёт и попробуйте в нём изменить культуру на "ru-RU" и "en-US".
Спасибо.
С вашей проблемой всё намного проще.
Две операции с числами производятся в текущей культуре.
Культура берётся из настроек системы или её можно задать в свойствах отчёта.
Вы не привели пример использования метода Replace(). Он работает на наших примерах без проблем.
Посмотрите приложенный отчёт и попробуйте в нём изменить культуру на "ru-RU" и "en-US".
Спасибо.
- Вложения
-
- ToDecimal.mrt
- (7.85 КБ) 354 скачивания