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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.03.2011, 19:49   #1  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Преобразование типов данных
Доброго вечера, уважаемые!
Кто спец, не сочтите за труд - подскажите!
Есть такой код:
X++:
                switch (baseType)
                {
....
                    case Types::Real:
                        value = conPeek(_mapData.lookup(fieldName),1);
                        if (value)
                        {
                             this.setFieldValueReal(fieldName, value);
                        }
Значение value = 09/01/1900 (правый слеш)
внутри метода
X++:
private void setFieldValueReal(str _name, real _value)
{
value уже = 8
а мне нужно чтоб 8,25 ( с сотыми !! )

ЗЫ. Лично я думаю, что в данном случае виноват conPeek(Container) со своим any2real. Но как сделать не знаю, вопчем HELP PLEASE -)
Старый 28.03.2011, 22:09   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
У AnyType есть такая особенность - единожды приняв значение какого-то определённого типа, он уже не может изменить тип на другой. Пример:
X++:
anytype value;
;

value = 8;
info(strfmt("%1", value));
value = 8.25; // переменная value НЕ изменит тип на real
info(strfmt("%1", value));

Выход - каждый раз использовать новую переменную anytype. В общем случае этого можно добиться используя локальную функцию:
X++:
void localfunction(anytype _value)
{
    anytype value;
    ;

    value = _value; // локальная переменная value каждый раз приобретает заданный тип
    info(strfmt("%1", value));
}
;

localfunction(8);
localfunction(8.25);

Вполне возможно что в вашем случае происходит нечто подобное. Попробуйте локализовать проблему и составить небольшой джоб для воспроизведения вашей ситуации, тогда можно будет сказать что-то определённое.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Невозможно выполнить команду языка определения данных в () iHomer13 DAX: Программирование 8 18.07.2008 10:56
Стандартный импорт данных. Обновление sparur DAX: Функционал 0 24.03.2008 19:07
Распределенная база данных на основе View Владимир Максимов DAX: Программирование 27 04.09.2007 13:21
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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