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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.04.2009, 09:28   #15  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Попробую еще раз.

МОЕ ПОНИМАНИЕ ПРОБЛЕМЫ:
Цитата:
Сообщение от valentino Посмотреть сообщение
Возникла проблема преобразования из текстового представления числа в само число, т.е. из "123 456.78" в 123456.78.
...
Текстовое представлене числа изначально в Аксапте формируется с помощью функции strfmt("%1", число).
МОЕ РЕШЕНИЕ ПРОБЛЕМЫ:
Цитата:
Сообщение от Gustav Посмотреть сообщение
Функция strFmt возвращает в виде строки ... real-число - с двумя десятичными знаками ... можно оставить в строке только 10 цифровых символов и знак "минус". Далее полученную строку конвертнуть обратно в число ... "обманув" ... и разделитель тысяч, и десятичную точку (запятую):
... и окончательный вариант "обмана" выглядит так (без предыдущего, возможно кого-то пугающего, деления на 100):
X++:
static void Job173(Args _args)
{
    real a = 123456.78;
    str  strNumberAfterStrFmt = strFmt('%1', a);
    real b;
    boolean c;
    ;

    b = str2Num(
        strFmt ( '%1e-2',
        strKeep( strNumberAfterStrFmt, '-0123456789')));

    c = a == b;
    box::info(strFmt('%1\n\n%2\n\n%3',
        strFmt('Исходное число: %1', a),
        strFmt('Восстановленное число из строки: %1', b),
        strFmt('Исходное число равно числу из строки?: %1', c)));
}
P.S.
В процессе эксперимента обратил внимание на то, что региональные настройки Аксапта считывает при старте приложения и далее в текущей сессии их не меняет (!) даже при изменении региональных настроек в панели управления. Такое поведение Аксапты отличается, например, от поведения Excel, где при смене локали c Russian на English (United States) наглядно видно, как в ячейке тут же меняются разделители тысяч с пробелов на запятые.

Последний раз редактировалось Gustav; 30.04.2009 в 09:42.
За это сообщение автора поблагодарили: aidsua (1).
Теги
разделитель тысячных, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Разделитель страницы в MS WORD FiGr DAX: Программирование 3 14.05.2007 15:24
Разделитель десятичных знаков в отчетах dirigente DAX: Функционал 0 20.11.2003 12:28

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

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

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