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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2004, 14:51   #1  
Горбунов Дмитрий is offline
Горбунов Дмитрий
Участник
 
10 / 11 (1) +
Регистрация: 16.11.2004
Адрес: С-Петербург
? Функция Any2Str не работает
Всем привет!

Мне необходимо преобразовать данные любого типа из контейнера в стринг (в контейнере есть данные в произвольном порядке - дата, целое число, число с плавающей запятой, стринг ).

Функция Any2Str не работает, хотя в документации указанно что в качестве параметра могут быть данные любого типа.

Пример (контейнер для простоты исключен):

str ss;
;
ss= Any2Str(1423512345); // Целое число
info(ss);
ss= Any2Str('1423512345'); //Стринг
info(ss);
ss= Any2Str(1423512345.34125); // Число с плавающей запятой
info(ss);

Посоветуйте, пожалуйста, как быть в данной ситуации.
Старый 16.11.2004, 15:05   #2  
Lexey is offline
Lexey
Участник
 
59 / 13 (1) ++
Регистрация: 16.05.2002
Оно и понятно. Что должно быть строкой для Enum'а - индекс, название элемента или метка?

Попробуйте strFmt('%1', value). Это чуть получше будет, чем any2str().
Старый 19.11.2004, 11:52   #3  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Мдяя.... интересное описание в помощи для этой ф-ии:

Converts object to the equivalent text string. object can be of almost any data type. Useful output is only guaranteed for input type str.
что можно перевести как:
Конвертирует объект в эквивалентную строку текста. Объект может быть почти любого типа. Полезный результат гарантирован только для входного типа - строка.

Немножечко помыслив приходим в выводу что если на входе - строка (даже обернутая в anytype), полезным нам результат никак не может быть, ибо нафиг тогда использовать эту ф-ю??? Или я что то не так не понимаю, или мир сошел с ума.
Старый 21.02.2006, 11:32   #4  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Цитата:
Сообщение от Alks
Мдяя.... интересное описание в помощи для этой ф-ии:

Converts object to the equivalent text string. object can be of almost any data type. Useful output is only guaranteed for input type str.
что можно перевести как:
Конвертирует объект в эквивалентную строку текста. Объект может быть почти любого типа. Полезный результат гарантирован только для входного типа - строка.

Немножечко помыслив приходим в выводу что если на входе - строка (даже обернутая в anytype), полезным нам результат никак не может быть, ибо нафиг тогда использовать эту ф-ю??? Или я что то не так не понимаю, или мир сошел с ума.
Нашел - в global есть функция написанная добрыми людьми value2String

Последний раз редактировалось MironovI; 21.02.2006 в 11:36.
Старый 21.02.2006, 11:36   #5  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
strFmt('%1', value)
всегда работает
Старый 21.02.2006, 11:39   #6  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Выше вам ответили уже же - strfmt('%1', value);

Или вы "полной универсальности" хотите? Если так - то для чего, если не секрет?
__________________
Best Regards,
Roman
Старый 21.02.2006, 11:39   #7  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Тем не менее добрых людей не хватило на написание остальных функций, что ж, буду сам дописывать value2Real и т.д.. иногда начинаю понимать почему у морально не стойких и не лояльных новичков волосы встают дыбом от Аксы )
Старый 21.02.2006, 12:31   #8  
Atani is offline
Atani
Участник
 
77 / 15 (1) ++
Регистрация: 25.07.2003
Адрес: г. Королёв М.О.
в классе Global есть функция con2str()
попробуйте, например:
info(con2str([1423512345,'1423512345',1423512345.34125 ], " тчк "));
Старый 21.02.2006, 12:33   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Горбунов Дмитрий
Мне необходимо преобразовать данные любого типа из контейнера в стринг
См. SysQuery::value()

Цитата:
Сообщение от Горбунов Дмитрий
(в контейнере есть данные в произвольном порядке - дата, целое число, число с плавающей запятой, стринг ).
см. Global::con2str()
это без управления преобразованием.
__________________
полезное на axForum, github, vk, coub.
Старый 03.06.2009, 13:21   #10  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Все дорого времени суток
Вот опять нарвался на некорректное поведение any2str... (долго не мог понять почему одна из функций отрабатывает только на половину )
any2str не переваривает в качестве параметра anyType с типом Date, выбрасывает ошибку преобразования. ИСПОЛЬЗУЙТЕ функцию StrFmt()!!!

Интересно, а как обстоят дела с этой функцией в четверке и AX2009? её там исправили?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 03.06.2009, 14:43   #11  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
365 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от lev Посмотреть сообщение
Интересно, а как обстоят дела с этой функцией в четверке и AX2009? её там исправили?
Проверил, на DAX 4.0 и DAX 2009 - результат тот же. Выбрасывает ошибку преобразования.
За это сообщение автора поблагодарили: lev (1).
Старый 03.06.2009, 15:11   #12  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от SRF Посмотреть сообщение
Проверил, на DAX 4.0 и DAX 2009 - результат тот же. Выбрасывает ошибку преобразования.
Мда.... жаль
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Теги
баг, преобразование типов

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Функция поиска подстроки, чувствительная к регистру . Есть ли такая в аксапте? ATimTim DAX: Программирование 4 13.02.2006 15:37
JOIN программно на форме не работает rohlenko DAX: Программирование 2 31.03.2005 15:41
Одна и та же функция в 2х и 3х-уровневой конфигурации: в 2х-работает, в 3х- нет Сергей Щербак DAX: Администрирование 4 07.04.2004 18:25
CRM ABC, SWOT анализ Как это работает и работает ли вообще. ShadowFromXZone DAX: Функционал 16 02.03.2004 18:09
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:07.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.