Преобразовать строку в число delphi

Функции преобразования (табл. 1.7) наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации. Например, для того чтобы вывести в поле вывода (компонент Label) диалогового окна значение переменной типа real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции.

Например, инструкция Labeii.caption := FioatTostr(x) выводит значе-ние переменной х в поле Labeii.

Таблица 1.7. Функции преобразования

Chr(n) IntToStr (k)

Символ, код которого равен n Строка, являющаяся изображением целого k

Строка, являющаяся изображением вещественного n

FloatToStrF(n, f , k,m)

Строка, являющаяся изображением вещественного п. При вызове функции указывают: f — формат (способ изображения); k — точность (нужное общее количество цифр); m — количество цифр после десятичной точки

Целое, изображением которого является строка s

Вещественное, изображением которого является строка s

Целое, полученное путем округления n по известным правилам

Целое, полученное путем отбрасывания дробной части n

Дробное, представляющее собой дробную часть вещественного n

Дробное, представляющее собой целую часть вещественного n

Дело в том, что в его постановке и выводах произведена подмена, аналогичная подмене в школьной шуточной задачке на сообразительность, в которой спрашивается:
— Cколько яблок на березе, если на одной ветке их 5, на другой ветке — 10 и так далее
При этом внимание учеников намеренно отвлекается от того основополагающего факта, что на березе яблоки не растут, в принципе.

В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.

Читайте также  Программа для батареи айфон

Удивительно, что этот цирковой трюк овладел на 120 лет умами физиков на полном серьезе, хотя его прототипы есть в сказках-небылицах всех народов всех времен, включая барона Мюнхаузена, вытащившего себя за волосы из болота, и призванных показать детям возможные жульничества и тем защитить их во взрослой жизни. Подробнее читайте в FAQ по эфирной физике.

Приведение типов в Delphi: Преобразование целых чисел в строку и обратно

Преобразование целых чисел в строку и обратно

Начнем с рассмотрения специальных функций для преобразования несовмести­мых типов. Самое частое, что может понадобиться при программировании, — пре­образование строк в число и обратно. Допустим, нужно написать программу, в ко­торой пользователь будет вводить число в компонент TEdit. Чтобы получить доступ к содержимому Editl, надо написать Editl.Text. Так мы получим тексто­вое представление числа. Чтобы его преобразовать, необходимо воспользоваться специальной функцией.

Для преобразования строки в число используется функция strToint. У нее только один параметр — строка, а на выходе она возвращает число,

ch:=StrToInt(Editl.Text); II Преобразовываю Edit1.Text в число end;

В этом примере мы присвоили переменной ch значение, содержащееся в Editl. Text, которое было преобразовано в число. Теперь можно производить математические действия с введенным числом.

Обратное преобразование (превращение числа в строку) можно произвести с помощью функции IntToStr.

ch:=StrToInt(Edit1.Text); // Преобразовываю Editl.Text в число ch:=ch+1;

Edit1.Text:=IntToStr(ch); // Преобразовываю ch в строку end;

Когда вы преобразовываете строку в число, то должны быть уверенным в том, что строка содержит число. Если в строке будет хоть один символ, не относящийся к цифре, то во время преобразования произойдет ошибка. Чтобы избавиться от ошибок, можно использовать исключительные ситуации, заключая преобразование между try и except. Есть еще один способ — использовать функцию strTointDef, у которой уже два параметра:

  • строка, которую надо преобразовать;
  • значение по умолчанию, которое будет возвращено, если произошла ошибка.
Читайте также  Разложение синуса в ряд лорана

Итак, наш пример можно подкорректировать следующим образом:

ch:=StrToIntDef(Editl.Text, 0); // Преобразовываю Editl.Text в число end;

В этом примере, если произойдет ошибка во время преобразования, то функция не будет выдавать ошибок, а вернет значение 0.

В этом уроке мы рассмотрим функции преобразования чисел в строки и строк в числа.
Давайте рассмотрим часто используемые функции StrToInt, IntToStr, FloatToStr, StrToFloat. Во многих случаях эти функции являются очень полезными в том плане, что они позволяют преобразовывать целочисленные и нецелочисленные переменные типов Integer, Byte, Double, Real и т.п. в их строковое представление в переменную типа String и обратно, если это возможно. Рассмотрим непосредственно сами функции по порядку.
[cc lang=»delphi»]var a: integer;
s: string;
begin
a := 12345;
s := IntToStr(a);
// в результате переменная s будет содержать в себе строку ‘12345’
end;[/cc]
Т.е. функция IntToStr позволяет преобразовывать целочисленную переменную типа integer или byte в ее строковое представление в переменную типа string;

Обратную возможность реализовывает функция StrToInt.
[cc lang=»delphi»]var a: integer;
s: string;
begin
s := ‘12345’; // В s должно быть введено обязательно целочисленное число без лишних символов!
// иначе программа, во время выполнения «конвертации» завершит свою работу
// с ошибкой.
a := StrToInt(s);
// в результате переменная a будет содержать в себе число 12345.
end;[/cc]

Те же возможности нам помогают реализовать функции FloatToStr и StrToFloat, однако они уже позволяют работать с нецелочисленными переменными типа Double, Real и т.п. Работа с ними абсолютно аналогична работе с функциями IntToStr и StrToInt.
[note]Стоит отметить одну важную особенность при переводе строки в нецелочисленное число. В качестве плавающей запятой в «строках-числах» нужно использовать символ «точка», а не символ «запятая». При переводе нецелочисленного числа в строку эта особенность учитывается функцией FloatToStr автоматически.[/note]

Ссылка на основную публикацию
Adblock
detector