Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

IV. ФУНКЦИИ И ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ПЕРЕМЕННЫМИ РАЗЛИЧНЫХ ТИПОВ ДАННЫХ

1. Преобразование чисел с плавающей запятой.


[ Оглавление ]










Функция FormatFloat( const Format: string; Value: Extended ): string;

Модуль: SysUtils

Описание
Функция преобразовывает значение числа с плавающей запятой Value в строку, используя маску, определенную параметром Format. Маска может содержать следующие символы форматирования:

Символ Описание
0 В данную позицию записывается цифра. Если исходное значение в данной позиции содержит цифру, то она записывается в соответствующую позицию результирующей строки, иначе в данную позицию будет записан '0'.
# В данную позицию записывается цифра. Если исходное значение в данной позиции содержит цифру, то она записывается в соответствующую позицию результирующей строки, иначе в данную позицию ничего не записывается.
. Данный символ, встречающийся в маске первый раз, определяет расположение десятичного разделителя. Любой последующий символ '.' игнорируется. Символ, который будет использован в качестве десятичного разделителя в результирующей строке, определяется глобальной переменной DecimalSeparator.
, Если маска содержит данный символ, то в отформатированной строке, между каждой группой из трех цифр слева от десятичной точки, будут вставлены разделители тысяч. Положение и количество символов ',' в маске на результат не влияет. Символ, который будет использован в качестве разделителя тысяч, определяется глобальной переменной ThousandSeparator.
E+ Экспоненциальный формат. Если любая из строк: 'E+', 'E-', 'e+', 'e-', содержится в строке формата, то результирующее значение будет представлено в экспоненциальном виде. За одной из вышеуказанных строк может следовать до четырех символов '0', определяющих мини-мальное число цифр в экспоненте.
'xx' "xx" Символы, заключенные в двойные или одиночные кавычки, не форматируются и выводятся один к одному как есть.
; Отделяет в маске варианты форматирования для положительного, отрицательного и нулевого значения (См. далее).

Позиции крайнего левого '0', расположенного до десятичной точки, и крайнего правого '0' после десятичной точки в маске определяют количество цифровых знаков, которые обязательно должны присутствовать в отформатированной строке. Форматируемое значение всегда округляется до разрядов, которые содержат символы '0' или '#' справа от десятичной точки. Если маска не содержит десятичной точки, то форматируемое значение округляется к ближайшему целому числу. Если форматируемое значение слева от десятичного разделителя содержит больше цифр, чем указано в маске, то "лишние" цифры выводятся до первого символа форматирования. Для того, чтобы допустить несколько вариантов форматирования, различных для положительного, отрицательного и нулевого значения, маска может состоять из одного, двух или трех разделов, разделенных точками с запятой.

Один раздел: строка формата применяется ко всем значениям.

Два раздела: первый раздел применяется к положительным и нулевым значениям, а второй - к отрицательным значениям.

Три раздела: первый раздел применяется к положительным значениям, второй - к отрицательным значениям, третий - к 0.
Если раздел для отрицательных значений или для значения 0 пуст, то используется форматирование, определенное для положительных значений. Если раздел для положительных значений пуст, или вся строка формата пуста, то значение форматируется, используя общее форматирование чисел с плавающей запятой (вызов функции FloatToStrF с параметром Precision=15 и Format=ffGeneral). Данное форматирование используется так же, когда значение содержит более 18 разрядов слева от десятичной точки, а в маске не определен экспоненциальный формат.

Пример
var
   S: string;
begin
   S:= FormatFloat( '#.##', Pi);       // S:= '3.14'
   MessageDlg( 'Pi:= '+ S, mtInformation, [mbOk], 0);
end;

helloworld.ru © 2001-2021
Все права защищены