AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2010, 11:18   #1  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
real -> str
Подскажите, в чем проблема. Никак не пойму.
У меня есть контейнер, в нём положительное значение real.


С помощью strfmt перевожу его в str, в результате появляется знак '+'. Почему?
Старый 21.07.2010, 11:43   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
какая у вас версия аксапты?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 21.07.2010, 11:46   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
попробовал в трешке, strFmt выдает без плюса...

пробовали использовать функцию num2str() ?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 21.07.2010, 11:46   #4  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
Ax 4.0 без сервиспаков.
Старый 21.07.2010, 11:47   #5  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
num2str() выдаёт тоже с '+'.
Старый 21.07.2010, 11:49   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от _AxDevel_ Посмотреть сообщение
У меня есть контейнер, в нём положительное значение real. С помощью strfmt перевожу его в str
Не стесняйтесь, показывайте код, иначе ждите ответов в духе "ошибка в третьей строке"
__________________
-ТСЯ или -ТЬСЯ ?
Старый 21.07.2010, 11:57   #7  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
tmpStr = conpeek(value, conIterator) ? strRFix(strfmt("%1", conpeek(value, conIterator)), displayLength) : "";
Старый 21.07.2010, 11:58   #8  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
причём, когда-то 'плюс' появляется, а когда-то нет. Посмотрел в дебагере, в контейнере Real.
Старый 21.07.2010, 12:02   #9  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
а что за функция такая strRFix(), что то я в трешке такого не нашел... может в ней собака порылась?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 21.07.2010, 12:04   #10  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
tmpStr = strfmt("%1", conpeek(value, conIterator));
результат тот же
Старый 21.07.2010, 12:05   #11  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Цитата:
Сообщение от lev Посмотреть сообщение
а что за функция такая strRFix(), что то я в трешке такого не нашел... может в ней собака порылась?
Это функция класса Global. Она и в трешке должна быть.
Старый 21.07.2010, 12:06   #12  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от _AxDevel_ Посмотреть сообщение
tmpStr = conpeek(value, conIterator) ? strRFix(strfmt("%1", conpeek(value, conIterator)), displayLength) : "";
Ax 4.0 SP2 - плюса нет. Вы на 100% уверены что в контейнере у вас именно real, а не число, преобразованное в строку еще до того, как оно записывается в контейнер ?
Старый 21.07.2010, 12:13   #13  
-xXx- is offline
-xXx-
Участник
 
4 / 10 (1) +
Регистрация: 23.09.2009
Цитата:
Сообщение от _AxDevel_ Посмотреть сообщение
tmpStr = conpeek(value, conIterator) ? strRFix(strfmt("%1", conpeek(value, conIterator)), displayLength) : "";
покажите больше кода, может весь метод... чтобы видеть, где и чем заполняется value, какие значения displayLength и conIterator и т.д
Старый 21.07.2010, 12:16   #14  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от tricky Посмотреть сообщение
Это функция класса Global. Она и в трешке должна быть.
да, есть такая в Global, беру свои слова обратно. Сорри .
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 21.07.2010, 12:17   #15  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Есть еще версия. Что на самом деле у вас число не типа real, а расширенного типа данных, в свойствах которого указано SignDisplay=prefixed. Поэтому появляется знак плюса.
Старый 21.07.2010, 12:36   #16  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Zabr Посмотреть сообщение
Есть еще версия. Что на самом деле у вас число не типа real, а расширенного типа данных, в свойствах которого указано SignDisplay=prefixed. Поэтому появляется знак плюса.
В строке подсказки свойства SignDisplay написано, что это "способ индикации знака минус".
Старый 21.07.2010, 13:10   #17  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
а вот если пишу tmpStr = strfmt("%1", abs(conpeek(value, conIterator)));
то не появляется плюс
фигня какая-то
Старый 21.07.2010, 13:51   #18  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
А что возвращает вот такая комбинация:
info(queryValue(typeOf(conPeek(value, conIterator)))) ?
Старый 21.07.2010, 14:03   #19  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
Цитата:
Сообщение от tricky Посмотреть сообщение
А что возвращает вот такая комбинация:
info(queryValue(typeOf(conPeek(value, conIterator)))) ?
возвращает Real
Старый 21.07.2010, 15:20   #20  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
am = conpeek(value, conIterator);
s = strfmt("%1",am);
получаю со знаком плюса

am = 1.0*conpeek(value, conIterator);
s = strfmt("%1",am);
без знака плюса

где am - real
s - str
conIterator = 2
Теги
преобразование типов

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: Sale Order Batch Invoicing reprints invoices from prior runs, when “Print” is set to ‘After’ on AR >> Periodic >> Sales Update >> Invoice form Blog bot DAX Blogs 0 24.03.2010 02:06
Особенности поведения str Eldar9x DAX: Программирование 9 21.05.2009 14:45
daxsol: Axapta Kernel Functions Blog bot DAX Blogs 1 16.05.2009 19:22
C# and AX Development: Truncated real fields (ex. LineNum) when table is exported as XML Blog bot DAX Blogs 0 07.02.2009 11:05
real -> RealBase Eldar9x DAX: Программирование 2 21.11.2007 18:15
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:26.