Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужна помошь с программой  (Прочитано 5902 раз)
0 Пользователей и 1 Гость смотрят эту тему.
CAHTA
Гость
« : 15-09-2005 19:54 » new

как на  чистом паскале сделать преобразование int в str ?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 15-09-2005 21:18 » 

http://hardware.org.ru/faq/answ.php?id=4970
Цитата оттуда
Цитата
Str (процедура)
    Преобразовывает число в строку.
    Объявление:
    Procedure Str(X ; Var S : String);
    X - любой параметр(целый, дробный)
Val (процедура)
    Преобразовывает строковое значение в его числовое представление.
    Объявление:
    Procedure Val(S; Var V; Var Code : Integer);
    Где:
    S - переменная со строковым типом. Должна представлять
    последовательность символов, формирующих знаковое целое число.
    V - переменная типа Real или Integer
    Code - переменная типа Integer - позиция, в которой произошла ошибка при
    преобразовании, или нуль, если ошибки не было.
   
« Последнее редактирование: 15-09-2005 21:20 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Alf
Гость
« Ответ #2 : 15-09-2005 21:28 » 

Если хочешь самостоятельно, без использования библиотечных функций, то что-то вроде

Код:
const
  StrLen = 10;

type
  Str = packed array [1..StrLen] of char;

procedure IntToStr(i: integer; var s: Str)

var
  neg: boolean;
  j: integer;

begin
  for j := 1 to StrLen do
    s[j] := ' ';
  neg := (i < 0);
  i = abs(i);
  j = StrLen;
  repeat
    s[j] := chr(i mod 10 - ord('0'));
    i := i div 10;
    dec(j);
  until (i = 0);
  if neg then
    s[j] := '-';
end;

Набросал прямо здесь, компилировать не пробовал, так что возможны оплошности, проверь сам.

P.S. Кстати, насколько помню, в стандарте от Вирта не было строковых типов, только packed array of char.
« Последнее редактирование: 20-12-2007 16:09 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines