Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Теперь перейдём к числам с плавающей точкой. Когда ты строишь математику в своей программе, то можешь столкнуться с вещественными числами. Например, если у тебя есть какая-то формула, в которой используется деление, то результат её выполнения будет всегда дробным, даже если ты уверен в целостности ответа. Например, ты делишь 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 Преобразование совместимых типов
Теперь можно познакомиться и с несовместимыми типами. Под совместимыми типами я понимаю типы данных, которые схожи по своим признакам, но хранят данные в разном виде. Например, есть несколько видов строк: строка, оканчивающаяся нулём и строка, первый байт которой указывает на её длину. Вроде и то и другое строки, но если где-то нужен определённый тип строки, то придётся преобразовывать свою строку именно в тот формат.
Дата публикования: 2014-11-04; Прочитано: 484 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!