Как перевести число в строку в паскале
Перейти к содержимому

Как перевести число в строку в паскале

  • автор:

Developing.ru

Привет всем
в общем у меня обыкновенный справочник,данные в матрицу я вводил типа string, теперь мне нужно организовать поиск по 1 критерию «входное напряжение». Числительный и строковый тип не сравниваются, нужно сделать перевод, как это осуществить? вот ссылка на программу

Sheka Сообщения: 199 Зарегистрирован: 17 май 2009, 15:48 Контактная информация:

если в паскале, то
есть процедура val(s:string,x:integer,код ошибки:integer); преобразует стоку в целочисленное х.
str(x,s) преобразует х в строку.
для нецелочисленных, по моему, нет перевода.

в делфи есть функции strtofloat(s) и floattostr(x) для действительных.

Rudya Сообщения: 9 Зарегистрирован: 15 июн 2009, 19:54
я знаю о существовании такой процедуры, но не очень понимаю как ею пользоваться. Паскаль.
Sheka Сообщения: 199 Зарегистрирован: 17 май 2009, 15:48 Контактная информация:

7) Процедура STR.
Формат:
STR(X,R);
Процедура STR перетворює число Х в рядок символів і розміщує результат в R.
Наприклад: надрукувати число в зворотному порядку.
Var x:integer;
r: string[5];
Begin
Writeln(‘введіть додатне ціле число’);
Readln(x);
Str(x,r);
Writeln(r[5]+r[4]+r[3]+r[2]+r[1]);
Readln;
End.
8) Процедура VAL.
Формат:
VAL(R,X,C);
Процедура VAL перетворює рядок R в число і розміщує результат в Х.
С-змінна типу integer, яка вказує чи не було при перетворенні помилок.
С=номеру позиції першого помилкового символу або С=0, якщо помилок не було.

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

Rudya Сообщения: 9 Зарегистрирован: 15 июн 2009, 19:54
во всем разобрался самостоятельно, тему можно закрывать
Хыиуду Сообщения: 2388 Зарегистрирован: 06 мар 2005, 21:03 Откуда: Москва Контактная информация:
Пользователь Rudya получает устное предупреждение за некорректное название темы. Тема закрыта.

Искусство программирования — заставить компьютер делать все то, что вам делать лень.
Для «спасибо» есть кнопка «Спасибо» в виде звездочки внизу под ником автора поста.

6 сообщений • Страница 1 из 1

  • Системное и прикладное программирование
  • ↳ Win API, Shell..
  • ↳ C и C++
  • ↳ Delphi и Pascal
  • ↳ Программирование на Pascal и Delphi (Object Pascal)
  • ↳ Все вопросы ООП
  • ↳ Компоненты в Delphi
  • ↳ Delphi и WinAPI, ActiveX и OLE , COM и DCOM, и т.д
  • ↳ Java
  • ↳ MS Office и VB(A).
  • ↳ Ассемблер
  • WEB программирование
  • ↳ JScript, VBScript, DHTML.
  • ↳ Perl, PHP, ASP .
  • Некатегоризированное
  • ↳ Вопрошайка
  • ↳ SQL
  • ↳ Алгоритмы
  • ↳ Дизайн и графика
  • Администрирование
  • ↳ Apache, IIS.
  • ↳ Операционные системы
  • Работа
  • ↳ Вакансии и заказы для программистов
  • ↳ Поиск работы и заказов.
  • ↳ Решите мне задачку
  • ↳ задачи на Паскале и Delphi
  • ↳ задачи на C и C++
  • ↳ задачи на Basic и Visual Basic (VB)
  • Прочее
  • ↳ Жалобная книга
  • ↳ Флейм.

Преобразовать строку в число. Пример использования процедуры Val() в Паскаль

vedro-compota's picture

Для преобразований строк в числа в Паскале используется стандартная процедура процедура $val()$ со следующей сигнатурой:

procedure Val(S: String; Var V; var Code : Integer);
  1. $S$ — переменная со строковым типом (string). Должна представлять последовательность символов, формирующих знаковое целое число — это та строка, которую мы будем преобразовывать.
  2. $V$ — переменная типа Real или Integer (здесь имеет место перегрузка процедуры). В этой переменной будет содержаться число, если преобразование пройдёт успешно
  3. $Code$ — переменная типа Integer — позиция, в которой произошла ошибка при преобразовании, или нуль, если ошибки не было.

При этом следует отметить, что переменные $V$ и $Code$ принимаются переменной по ссылке — то есть хотя процедура и не возвращает значений, но она изменит значения этих двух переменных в области вызова и таким образом можно будет получить результат преобразования.

Что делает процедура val()

  • Процедура $val()$ делает попытку преобразовать строковое значение $S$ в его числовое представление $V$.
  • Переменная $Code$ будет содержать номер позиции, в которой произошла ошибка при преобразовании, или нуль, если ошибки не было.
  • Для успешного преобразования, необходимо, чтобы значение $S$ было корректной записью числа, рассмотрим примеры вызовов для разных значений и их типов:
var intChislo, Code : Integer; rChislo: real; s: string; begin s := '123'; Val(s, intChislo, Code); writeln(intChislo, ' | Error code: ', Code); // Получим: 123 | Error code: 0 -- все хорошо s := '1q23'; Val(s, intChislo, Code); writeln(intChislo, ' | Error code: ', Code); < Получим: 0 | Error code: 2 -- т.к. в позиции 2 стоит некорректный для числа символ q>s := '17.5'; Val(s, intChislo, Code); writeln(intChislo, ' | Error code: ', Code); < Получим: 0 | Error code: 2 -- т.к. в позиции 3 стоит точка, а этот символ не участвует в записи типа integer, т.е. '17.5' некорректный литерал для преобразования в integer>s := '17.5'; Val(s, rChislo, Code); writeln(rChislo, ' | Error code: ', Code); < Получим: 1.7500000000000000E+001 | Error code: 0 -- прошло успешно, т.к. '17.5' корректный литерал для преобразования в real>readln(); // удерживаем консоль end.

Пример использования $val()$ с обработкой кода ошибки

var I, Code : Integer; s: string; begin writeln('vvedite chislo:'); readln(s); < // далее попытаемся преобразовать полученную строку в число Val(s, I, Code); // вызываем процедуру преобразования < Была ошибка при преобразовании ? >if (Code <> 0) then writeln('Oshibka pri preobrazovanii v pozicii : ', Code) else writeln('Uspeshno poluchili chislo = ', I); readln(); // удерживаем консоль end.
  • Val (процедура): http://pascal.net.ru/Val

Key Words for FKN + antitotal forum (CS VSU):

  • паскаль число в строку функция
  • Как преобразовать строку в число В Паскале

как преобразовать real в string в паскаль

Люди, дельфисты! Ну кто, кто вам сказал, что у человека в ПАСКАЛЕ есть такая функция FloatToStr ?
В Паскале всю жизнь была функция Str(число, переменная_строка) ! Вызывать примерно так:

var
B : real;
S : string;
begin
writeln(‘Input B’);
readln(b);

Str(B : 15 : 2, S);
writeln(‘result=’, S);
end.

Конструкция :15:2 означает, что надо число в строке отформатировать не шире чем 15 знаков всего, из них 2 знака после плавающей точки.
Как-то так

Как перевести число в строку в паскале

Форумчанин

Регистрация: 31.05.2007

Сообщений: 266

перевести число, находящееся в string, в integer?

Как в Паскале перевести число, находящееся в string, в integer? Я пробовал Ord(), но там входные параметры только цифры, а надо числа.

andrey4623
Посмотреть профиль
Найти ещё сообщения от andrey4623

Участник клуба

Регистрация: 22.04.2007

Сообщений: 1,329

val(str,num,code)

Регистрация: 22.06.2007

Сообщений: 2

VAL(st,i,c)
где st -строка с числом, i — переменная числового типа куда помещаем, с — типа integer содержащее код ошибки (если не получилось) или ноль (если все ОК)

Регистрация: 22.06.2007

Сообщений: 4

Carbon,ты на ламера непохож,создай новую тему «ПЕРЕХВАТ КЛАВИШ»,если не вламы!

Регистрация: 22.06.2007

Сообщений: 4

Димон,дату прохлопал,может поможеш?

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из string в integer MAKEDON Помощь студентам 9 29.07.2008 15:38
Помогите перевести число из десятичной в шестнадцатиричную систему TAUREN Помощь студентам 5 06.10.2007 14:06
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13
String и Integer bek@rt Общие вопросы Delphi 10 18.05.2007 19:02
Как перевести Point в String. Chepa Общие вопросы Delphi 2 09.01.2007 09:26

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *