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

Тут появляется несколько вариантов выхода:

  • записывать результат в переменную вещественного типа, но он подходит не все­гда, поэтому лучше перейти сразу ко второму методу;
  • округлять результат;
  • использовать для деления div, который получает только целое число.

Для начала взглянем на последний вариант:

var

i:Integer; begin

i:=10 div 2; end;

Теперь посмотрим округление. Для него существует очень удобная функция round, которой передается в качестве параметра вещественное число, а на выходе получаем целое, например:

var

i:Integer; begin

i:=round(10/2) ; end;

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

 

Отдельного разговора требует функция FormatFioat, которая форматирует ве­щественное число по вашим нуждам. Тут есть два параметра: строка формата и са­мо число. В табл. 10.1 показаны разные варианты преобразований. В первой колон­ке представлены возможные форматы, указываемые в первом параметре функции FormatFioat. В остальных колонках показано, что произойдет с разными числами при данном формате.


  • записывать результат в переменную вещественного типа, но он подходит не все­гда, поэтому лучше перейти сразу ко второму методу;
  • округлять результат;
  • использовать для деления div, который получает только целое число.

Таблица 10.1. Строки форматирования вещественных чисел

Строка, указываемая в формате

Примеры чисел

1234

-1234

0,5

0

0

1234

-1234

1

0

0,00

1234,00

-1234,00

0,50

0,00

#,##

1234

-1234

0,5

 

#.##0,00

1.234,00

-1.234,00

0,50

0,00

#.##0,00;(#.##0,00)

1.234,00

(1.234,00)

0,50

0,00

#.##0,00;;Zero

1.234,00

-1.234,00

0,50

Zero

0.000Е+00

1.234Е+03

-1.234Е+03

5.000Е-01

0,000Е+00

#.###Е-0

1.234E3

-1,234E3

5Е-1

0Е0

dle

Помоги проекту! Расскажи друзьям об этом сайте: