Перейти на главную   
  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. Преобразование чисел с плавающей запятой.


Функция FloatToStrF( Value: Extended; Format: TFloatFormat; Precision, Digits: Integer ): string;

Модуль: SysUtils

type TFloatFormat = (ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency);

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

Тип Precision Тип Precision Тип Precision
Single <= 7 Double <= 15 Extended <= 18

Назначение параметра Digits зависит от специфики выбранного формата (См. ниже). Параметр Format определяет формат результирующей строки. Возможны следующие значения параметра Format:

ВеличинаЗначение
ffGeneral Общий числовой формат. Число преобразовывается в наиболее возможно короткую десятичную строку, используя фиксированный (ffFixed) или научный формат (ffExponent). Нули в конце числа удаляются. Десятичная точка ставится только в случае необходимости. Фиксированный формат применяется, когда в значении Value количество цифр, стоящих слева от десятичной точки, меньше либо равно Precision или, когда Value>=0.00001. В противном случае, применяется научный формат, а параметр Digits определяет минимальное число цифр в экспоненте (0.. 4).
ffExponentНаучный формат. Число преобразуется в строку формата
"-x.xxx…E+xxxx". Строка начинается со знака "-" (если число отрицательное). Десятичной точке всегда предшествует одна цифра. Параметр Precision определяет общее количество десятичных цифр, стоящих до символа экспоненты "E" (включая цифру слева от десятичного разделителя). За символом экспоненты следует знак плюс или минус и до 4 цифр, определяющих степень экспоненты. Минимальное число цифр в экспоненте указывается в параметре Digits.
ffFixedФиксированный формат. Значение преобразуется в строку вида "-ххх.ххх…". Если число отрицательное, то впереди строки будет поставлен знак "-". Десятичной точке всегда предшествует минимум одна цифра. Количество значащих цифр после десятичной точки (0…18) указывается в параметре Digits. Если количество разрядов слева от разделителя превышает значение, указанное в параметре Precision, то для форматирования будет использоваться научный формат (ffExponent).
ffNumberЧисловой формат. Значение будет преобразовано в строку следующего вид "-х,ххх,ххх.ххх…". Данный формат аналогичен формату ffFixed, за исключением того, что полученная строка будет содержать еще и разделители тысяч.
ffCurrencyДенежный формат. Значение преобразовывается в строку, представляющую денежную величину. Количество значащих цифр после десятичной точки (0…18) определяется параметром Digits. Преобразование управляется глобальными переменными CurrencyString, CurrencyFormat, DecimalSeparator NegCurrFormat и ThousandSeparator, значения которых устанавливаются в диалоговом окне 'Язык и стандарты' панели управления Windows.

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









Пример
var
   Sum: Extended;
   SumStr: string;
begin
   Sum:= 10255.2;
   SumStr:= FloatToStrF( Sum, ffCurrency,18,2);       { SumStr := '10 255,20р' }
   MessageDlg( SumStr, mtInformation, [mbOk], 0);
end;
helloworld.ru © 2001-2021
Все права защищены