Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Теперь перейдём к числам с плавающей точкой. Когда ты строишь математику в своей программе, то можешь столкнуться с вещественными числами. Например, если у тебя есть какая-то формула, в которой используется деление, то результат её выполнения будет всегда дробным, даже если ты уверен в целостности ответа. Например, ты делишь 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...