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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.12.2010, 10:21   #1  
otkudao
Гость
 
n/a
strfmt
Существует ли строковый формат в strFmt, который при выводе int, например, формирует строку, в которой количество символов жестко задано? То, что делает strRFix: int '1' -> str '001'
Старый 16.12.2010, 10:26   #2  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Хоть банально, но вот что пришло в голову первым:
X++:
static void TestJob(Args _args)
{
    int intVal = 5;
    ;
    info(strfmt("00%1", intval));
}
Наверное, это будет ближе к теме:
X++:
static void TestJob(Args _args)
{
    int     intVal = 111, //Целочисленное значение
            strLength = 10,//Длина строки
            intValLength;//Количество разрядов целого числа
    
    str     strTemplate,//Шаблон строки
            resultString;//Итоговая строка (шаблон + целое число)
    
    Counter i;
    ;
    
    intValLength = strLen(int2str(intVal));
    
    for(i=1; i<=(strLength - intValLength); i++)
    {
        strTemplate += "0";
    }

    resultString = strfmt("%1%2", strTemplate, intVal);

    info(resultString);
}
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 16.12.2010 в 10:36.
Старый 16.12.2010, 10:43   #3  
Proba is offline
Proba
Участник
 
60 / 13 (1) ++
Регистрация: 25.06.2007
Адрес: Красноярск\Зеленогорск
X++:
tmpStr = System.String::Format("{0:0000}",1);
вернет 0001
Старый 16.12.2010, 10:44   #4  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от otkudao Посмотреть сообщение
Существует ли строковый формат в strFmt, который при выводе int, например, формирует строку, в которой количество символов жестко задано? То, что делает strRFix: int '1' -> str '001'
Как это должно работать при преобразовании числа 1234 в строку из двух символов ?
Старый 16.12.2010, 10:45   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
NumberSeq::numInsertFormat(int, format);
format - формат номерной серии
За это сообщение автора поблагодарили: Zabr (3).
Старый 16.12.2010, 10:48   #6  
lemchey_white is offline
lemchey_white
Участник
Axapta Retail User
 
22 / 13 (1) ++
Регистрация: 08.08.2007
можно еще на strrep посмотреть.
Старый 16.12.2010, 11:18   #7  
otkudao
Гость
 
n/a
2 Zabr
обрезается

2 lemchey_white
strRFix

2 Proba & Wamr
близко

видимо таки нет
Старый 16.12.2010, 12:57   #8  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от otkudao Посмотреть сообщение
Существует ли строковый формат в strFmt, который при выводе int, например, формирует строку, в которой количество символов жестко задано? То, что делает strRFix: int '1' -> str '001'
X++:
static void Job11(Args _args)
{
    int         size  = 10; 
    int         n = 12345;
    str         s = int2str(n);
    ;

    s = strRep("0", size - strlen(s)) + s;
    info(s); // Получим "0000012345"
}
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 16.12.2010, 13:22   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Я чего-то не понимаю. А чем сам strRFix то не устраивает?
X++:
strfmt('бла-бла-бла %1', strRFix(int2str(i), 3, '0'))
За это сообщение автора поблагодарили: Poleax (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
xplusplus: strFmt function Blog bot DAX Blogs 0 22.11.2010 01:11
Странное использование strfmt Silphidae DAX: Программирование 8 15.09.2009 07:01
Не могу сформировать строку strFmt CasperSKY DAX: Программирование 9 17.04.2008 10:52
Не получается сформировать рендж с помощью strFmt Dronas DAX: Программирование 18 14.04.2008 14:08
функция аналогичная strfmt ivas DAX: Программирование 10 27.12.2005 13:20

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

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

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