рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Преобразование вещественных чисел - раздел Образование, Работа с массивами динамические массивы Теперь Перейдём К Числам С Плавающей Точкой. Когда Ты Строишь Математику В Св...

Теперь перейдём к числам с плавающей точкой. Когда ты строишь математику в своей программе, то можешь столкнуться с вещественными числами. Например, если у тебя есть какая-то формула, в которой используется деление, то результат её выполнения будет всегда дробным, даже если ты уверен в целостности ответа. Например, ты делишь 10 на 2, и должен получить результат 5. Хотя результат целое число, компилятор будет представлять его как дробное.

var i:Integer; begin i:=10/2; end;

Если ты попытаешься откомпилировать такой код, то увидишь следующую ошибку: «Incompatible types: 'Integer'and ‘Extended’»

Тут появляется два выхода:

1. 1. Записывать результат в переменную вещественного типа. Но он подходит не всегда, поэтому лучше перейти сразу ко второму методу.

2. 2. Округлять результат
Для округления существует очень удобная функция round:

 

 

var i:Integer; begin i:=round(10/2); end;

Если ты решил хранить результат в переменной вещественного типа, то могут возникнуть проблемы с выводом результата. Для этого может понадобиться преобразование вещественного числа в строку. Для этого есть функция FloatToStr, которой надо передать дробное число и получить строку. Точно так же есть и обратное преобразование StrToFloat, где ты передаешь строку, а получаешь вещественное число.

Отдельного разговора требует функция FormatFloat, которая форматирует вещественное число по твоим нуждам. Тут есть два параметр: строка формата и само число.

Следующая табличка показывает разные варианты формата. В первой колонке показаны возможные форматы указываемые в первом параметре функции FormatFloat. В остальных колонках показано, что произойдёт с разными числами при данном формате (табличка взята из файла помощи по Delphi):

Вот пока что и всё, что я хотел сказать тебе про преобразование несовместимых типов.


 

 

10.6 Преобразование совместимых типов

Теперь можно познакомиться и с несовместимыми типами. Под совместимыми типами я понимаю типы данных, которые схожи по своим признакам, но хранят данные в разном виде. Например, есть несколько видов строк: строка, оканчивающаяся нулём и строка, первый байт которой указывает на её длину. Вроде и то и другое строки, но если где-то нужен определённый тип строки, то придётся преобразовывать свою строку именно в тот формат.

– Конец работы –

Эта тема принадлежит разделу:

Работа с массивами динамические массивы

Глава Основные при мы кодинга...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Преобразование вещественных чисел

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

For i:=0 to High(r)-1 do begin
r[i]:=i*i; ListBox1.Items.Add(IntToStr(i)+' в квадрате ='+IntToStr(r[i])); end; В области объявлений VAR я объявил две перем

For i:=0 to High(r)-1 do
r[i]:=i*i; SetLength(r,20); for i:=10 to High(r)-1 do r[i]:=i*i; for i:=0 to High(r) do ListBox1.Items.Add(IntToStr(i)+' в квадрате ='+In

Var f:TStringList; //Переменная типа объект TStringList.
begin f:= TStringList.Create(); f.Free; end; В этом примере я только создал новый объект и сразу уничтожил, не используя его. Давай снов

Var f:TStrings; //Переменная типа объект TStringList.
begin f:= TStringList.Create(); f.Free; end; В этом примере я объявил переменную типа TStrings, но при создании проинициализировал её объе

F.Add(‘Прощай’);// Добавляю новую строку
f.SaveToFile(‘c:filename.txt’); // Сохраняю результат f.Free; end; На всякий случай, прежде чем изменить пятую строку я проверяю, есть ли в файле эти пять строк. Ес

Преобразование целых чисел в строку и обратно
Начну я с рассмотрения специальных функций для преобразования несовместимых типов. Самое частое, что может тебе понадобиться – преобразование строк в число и обратно. Допустим, что тебе нужно напис

Begin ch:=StrToInt(Edit1.Text); // Преобразовываю Edit1.Text в число ch:=ch+1; Edit1.Text:=IntToStr(ch); // Преобразовываю сh в строку
end; Когда ты преобразовываешь строку в число, ты должен быть уверен в том, что строка содержит число. Если в строке будет хоть один символ не относящейся к цифре, то во в

Преобразование даты в строку и обратно
Теперь познакомимся с преобразованием даты. Для этого есть несколько функций: 1. 1. DateToStr – преобразовывает дату в строку. Единственный параметр, который надо указать – переменн

Преобразование строк
Допустим, что у тебя есть строка типа String и ты хочешь её преобразовать в PChar. Для такого преобразования нужно написать требуемый тебе тип и в скобках указать свою строковую перем

Var p:Pointer
Для того, чтобы получить адрес переменной или объекта, необходимо перед его именем поставить знак @. Например, у тебя есть строка Str и чтобы присвоить её а

Var p:Pointer
Для того, чтобы получить адрес переменной или объекта, необходимо перед его именем поставить знак @. Например, у тебя есть строка Str и чтобы присвоить её а

Var p:Pointer
Для того, чтобы получить адрес переменной или объекта, необходимо перед его именем поставить знак @. Например, у тебя есть строка Str и чтобы присвоить её а

Begin ws:=New(PWindowSize); // Выделяем память ws.Left:=10; // Изменяем одно свойство Dispose(ws); // Уничтожаем память
end; В этом примере я объявил переменную ws типа PWindowsSize. Это значит, что ws – это всего лишь указатель и в самом начале он нулевой. Теперь нам н

Закрываем поиск
FindClose(SearchRec); end; На компакт диске, в директорииПримерыГлава 10FindF

If WindowState=wsNormal then
begin FIniFile.WriteInteger('Option', 'Width', Width); FIniFile.WriteInteger('Option', 'Heigth', Height); FIniFile.WriteInteger('Option', 'Left', Left); FIniFile.WriteIn

Procedure TForm1.LoadProgParam; var
FIniFile: TRegIniFile; begin FIniFile := TRegIniFile.Create('Software'); FIniFile.OpenKey('VR',true); FIniFile.OpenKey('VR-Online',true);

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги