Форматирование "числовой строки"

Обсуждение программ nnCron и nnCron LITE

Форматирование "числовой строки"

Postby SeMa » Tue, 10 Sep 2013, 17:15

как форматировать в выводимой строке преобразованное в строку число (в общем) (на примере .R)?
В конкретном случае понадобилось преобразованное в строку число выровнять вправо.
Например: 'любое_число' в формат '6-ти_символьная_строка_с_ведущими_пробелами'.
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Форматирование "числовой строки"

Postby VoidVolker » Tue, 10 Sep 2013, 19:08

Code: Select all
: NUM>BLS   \ ( num len -- a u ) \ Конвертировать число num в строку длиной len, пустое место заполнить пробелами
  { \ f -- }  \ Флаг для вставки знака или пробела
  0 MAX                       \ Фильтруем отрицательные числа
  DUP IF                      \ Фильтруем ноль
    OVER 0 <
    IF OVER ELSE 0 THEN TO f    \ Включаем флаг, если число отрицательное
    >R ABS S>D <#
      R> 0 DO                   \ Цикл по длине строки
        OVER IF                   \ Есть что преобразовывать?
          #                             \ Преобразовываем очередной разярд
        ELSE                      \ Все число преобразовано - вставляем знак или пробел и оставшиеся пробелы
          f IF                      \ Число отрицательное?
            f SIGN 0 TO f             \ Вставляем знак числа и выключаем флаг
          ELSE
            BL HOLD                 \ Вставляем пробелы
          THEN
        THEN
      LOOP
    #>
  ELSE                          \ Строка нулевой длины - значит пустая
    2DROP S" "
  THEN
;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Форматирование "числовой строки"

Postby SeMa » Wed, 11 Sep 2013, 16:25

Спасибо большое!
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests