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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.01.2006, 12:26   #1  
Saska is offline
Saska
Участник
 
18 / 10 (1) +
Регистрация: 09.12.2004
Задача: на входе Decimal. Надо получить строку длиной именно 10 символов, где оставшиеся разряды добиваются нулями. Т.е. например
123.45 -> 123.450000
20.1 -> 20.1000000
1.3 -> 1.30000000
500 -> 500.000000

и т.д. Что-то никак не пойму как сделать.
Старый 27.01.2006, 13:02   #2  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Сдается мне что придется определять длину полученной строки и добивать вручную программно.
__________________
Want to believe...
Старый 27.01.2006, 13:16   #3  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Да, пожалуй, считать
Старый 27.01.2006, 13:21   #4  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
не надо ничего считать

Код:
DecimalNumber := 123.45;
TextResult := COPYSTR(DELCHR(FORMAT(DecimalNumber,0,'<Integer,20><Decimals,20>'),'<',' '),1,10);
Старый 27.01.2006, 13:45   #5  
Saska is offline
Saska
Участник
 
18 / 10 (1) +
Регистрация: 09.12.2004
Спасибо большое!
Старый 27.01.2006, 13:46   #6  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
cool.
__________________
Want to believe...
Старый 27.01.2006, 14:49   #7  
romtex_imported is offline
romtex_imported
Участник
 
66 / 10 (1) +
Регистрация: 06.12.2005
Или еще проще:
Код:
result:=padstr(format(DecimalValue),10,'0')
Старый 27.01.2006, 15:38   #8  
romtex_imported is offline
romtex_imported
Участник
 
66 / 10 (1) +
Регистрация: 06.12.2005
Прошлый способ для целых не проходит, поэтому все-таки так, наверно самый простой способ
Код:
result:=copystr(format(a,0,'<Integer,0><decimals,20>'),1,10)
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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