Раздел: Стандартные функции Паскаля
Процедура Str
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее... |
Процедура Str
в Паскале преобразует число или перечисление в строку. Синтаксис:
procedure Str(var X : TNumericType; var S : string);
Процедура Str
возвращает строку, представляющую значение X
,
которое может быть любым числовым или перечисляемым типом.
Фактическое объявление процедуры Str
не соответствует синтаксису Паскаль и должно быть
procedure Str(var X : TNumericType [:NumPlaces [:Decimals]]; var S : String);
где необязательные спецификаторы NumPlaces
и Decimals
управляют форматированием строки:
NumPlaces
задаёт общую ширину строкиDecimals
задаёт количество десятичных знаков после символа десятичного разделителя
Процедуру Str
также можно использовать для преобразования значения перечисляемого типа в строковое представление объявленного перечисления. Это означает, что будет работать следующее:
type TMyEnum = (One); var s : string; begin Str(One, s); Writeln(s); end.
Эта программа выведет на экран слово One
. То же самое сделает и следующая программа:
type TMyEnum = (One); var s : string; E : TMyEnum; begin E := One; Str(E, s); Writeln(s); end.
Преобразование числа может быть выполнено, например, так:
Str(150, s); Writeln(s);
Если вы хотите преобразовать вещественное число и задать определённое количество знаков после запятой, то это можно сделать так:
Str(Pi:0:4, s); Writeln(s);
Примеры вывода показаны на рисунке:
Если хотите, можете с помощью процедуры Str
создать собственную функцию преобразования вещественных
чисел в строку с заданным количеством знаков после запятой.
Функция может быть, например, такой:
//**************************************************************** // Функция преобразует вещественное число в строку // с указанным количеством знаков после запятой // ВХОД: х - число; n - количество знаков после запятой // ВЫХОД: строковое представление числа //**************************************************************** function MyFloatToStr(x : single; n : byte) : string; var st : string; begin Str(x:0:n, st); Result := st; end;
Здесь с помощью спецификатора Decimals
мы задаём количество знаков после запятой. В программе функцию можно использовать так:
Writeln(MyFloatToStr(Pi*2, 3));
При этом на экран будет выведена строка 6.283
Спецификатор NumPlaces
тоже может пригодиться, например, при выводе таблиц. С его помощью мы можем задать одинаковую ширину строки, и на экране вывод будет занимать всегда одинаковое заданное количество знакомест, независимо от того, сколько цифр у нас в числе. Пример:
for i := 1 to 16 do begin Str(i:3, s); if ((i mod 4) = 0) then WriteLn(s) else Write(s); end;
На экран будет выведена такая ровная таблица:
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |