floattostr delphi что это

Иллюстрированный самоучитель по Delphi 7 для начинающих

Функции преобразования. Использование функций.

Функции преобразования (табл. 1.7) наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации. Например, для того чтобы вывести в поле вывода (компонент Label) диалогового окна значение переменной типа real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции.

Например, инструкция которая выводит значение переменной х в поле Label1:

Таблица 1.7. Функции преобразования.

Функция Значение функции
Chr(n) IntToStr(k) Символ, код которого равен n Строка, являющаяся изображением целого k
FloatToStr (n) Строка, являющаяся изображением вещественного n
FloatToStrF(n, f, k,m) Строка, являющаяся изображением вещественного n.
При вызове функции указывают: f – формат (способ изображения); k – точность (нужное общее количество цифр); m – количество цифр после десятичной точки
StrToInt (s) Целое, изображением которого является строка s
StrToFloat (s) Вещественное, изображением которого является строка s
Round (n) Целое, полученное путем округления n по известным правилам
Trunc (n) Целое, полученное путем отбрасывания дробной части n
Frac(n) Дробное, представляющее собой дробную часть вещественного n
Int (n) Дробное, представляющее собой целую часть вещественного n

Использование функций

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

Источник

Floattostr delphi что это

Преобразование числа с плавающей точкой (далее в этом разделе просто числа) в текстовую строку и обратно всегда было достаточно сложной задачей. Для ее решения в Delphi есть функции сразу трех уровней сложности.

Первый — самый простой — представлен функцией FloatToStr:

function FloatToStr( Value : Extended): string ;

Число, заданное параметром Value, преобразуется в возвращаемую функцией строку. Формат преобразования соответствует типу преобразования g функции Format, причем длина выходной строки принимается равной 15 символам.

Больше возможностей для управления форматом вывода дает функция:

function PloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string ;

Здесь Value — преобразуемое значение, Format — один из предопределенных форматов. Хотя этот параметр имеет тип TFloatFormat, он имеет очень много общего с типами преобразований в функции Format (ссылки на них есть в предлагаемой таблице). Параметр Precision задает общее число символов в выходной строке и не должен превышать 7 для фактического параметра типа Single, 15 — для Double и 18 — для Extended. Digits — это параметр, интерпретируемый в зависимости от значения параметра Format:

ffExponent Научный формат, соответствует типу е. Precision задает общее число символов, Digits — число знаков в показателе экспоненты <0-4).

ffFixed Формат с фиксированной точкой; соответствует типу f. Precision задает общее число символов, Digits — число знаков после запятой (0-18). Если значение Precision мало для представления числа, используется научный формат.

ffGeneral Обобщенный формат, соответствует типу д (см. описание функции Format).

ffNumber Отличается от fTFixed наличием символов-разделителей тысяч (см. тип преобразования п).

ffCurrency Соответствует типу преобразования т. Параметр Digits задает число символов после десятичной точки в выходной строке (0-18).

В случае, когда в функцию переданы значения Value, соответствующие особым случаям сопроцессора («не-число», плюс и минус бесконечность), она возвращает соответственно строки ‘NAN’, ‘INF’ и ‘-INF’.

Наконец, возможность полного управления форматом предоставляет функция FormatFloat:

function FormatFloat(const Format: string; Value: Extended): string;

Она преобразует число в строку в соответствии со спецификатором формата, содержащимся в параметре Format. Правила его задания следующие:

0 Поле для цифры. Если форматируемая величина имеет в этой позиции цифру, то вставляется она, в противном случае вставляется 0.

# Поле для цифры. Если форматируемая величина имеет в этой позиции цифру, то вставляется она, в противном случае ничего не вставляется.

Поле для десятичной точки. Сюда вставляется символ, определенный константой DecimalSeparator.

; Поле для разделителя тысяч. Оно означает, что группы по три цифры, считая влево от десятичной точки, будут разделяться специальным символом (он задан константой ThousandSeparator). Местоположение поля может быть произвольным.

Е+, Е-, е+, е- Признаки представления числа в научном формате. Появление любого из этих аргументов означает, что число будет преобразовано с характеристикой и мантиссой. Вставка нулей после такого аргумента позволяет определить ширину мантиссы. Разница между Е+, е+ и Е-, е-в том, что в первых двух случаях ставится «+» при выводе положительных чисел.

‘хх’ «хх» Символы, заключенные в обычные или двойные кавычки, напрямую включаются в выходную строку.

; Разделяет спецификаторы формата для положительных, отрицательных и нулевых чисел.

1. Число всегда округляется до той точности, которую позволяет заданное программистом количество полей для размещения цифр (‘0’ и ‘#’).

2. Если у преобразуемого числа слева от десятичной точки получается больше значащих цифр, чем задано полей для их размещения, то цифры все равно добавляются в строку. Если полей недостаточно справа от точки, происходит округление.

3. Символ ‘;’ позволяет задать три разных формата вывода для чисел с разным знаком. При различном количестве форматов они применяются следующим образом:

• один: применяется для всех чисел;

• два: первый применяется для чисел, больших или равных нулю, второй — для отрицательных;

• три: первьш применяется для положительных, второй — для отрицательных чисел, третий — для нуля.

Если форматы для отрицательных чисел или нуля пусты, применяется формат для положительных чисел.

Если пуст формат для положительных чисел или спецификатор формата вообще не задан (пустая строка), то числа форматируются согласно обобщенному формату (как в функции FloatToStr). Такое форматирование применяется также в случае, если число значащих цифр слева от десятичной точки превысило 18 и не задан научный формат.

Применение спецификатора иллюстрируется в таблице на примере преобразования четырех чисел:

#,##0.00;(#,##0.00) 1,234.00 (1,234.00) 0.50 0.00

Две следующие функции применяют те же правила, что и рассмотренные выше функции, но отличаются параметрами:

function FloatToText(Buffer: PChar; Value: Extended; Format: TFloatFormat; Precision, Digits: Integer) : Integer;

Соответствует FloatToStrF, но выходная строка помещается в буфер Buffer (без начальной длины!), а число символов в ней возвращается самой функцией.

function FloatToTextFmt(Buffer: PChar; Value: Extended; Format: PChar): Integer;

Соответствует FormatFloat, но выходная строка помещается в буфер Buffer (без начальной длины!), а число символов в ней возвращается самой функцией.

procedure FloatToDecimal( var Result: TFloatRec; Value: Extended; Precision, Decimals: Integer);

Производит подготовительный анализ преобразуемого числа, занося в поля записи Result различные его характеристики.

Перейдем к рассмотрению функций преобразования текстовой строки в число. Их две — соответственно для строк типа string и PChar:

function StrToPloat( const S: string ): Extended;

function TextToFloat(Buffer: PChar; var Value: Extended): Boolean;

Общие правила для передаваемой в функцию строки таковы:

• допускаются как научный, так и фиксированный форматы;

• в качестве десятичной точки должен выступать символ, который содержится в DecimalSeparator;

• не допускаются символы-разделители тысяч (ThousandSeparator), а также символы обозначения денежньк единиц.

В случае ошибки преобразования функция StrToFloat генерирует исключительную ситуацию EConvertError, a TextToFloat — возвращает значение False.

Источник

Справочник функций и процедур Delphi: FloatToStr

FloatToStr
Функция Преобразует значение с плавающей запятой в строку SysUtils unit

1 function FloatToStr ( Value : Extended ) : string;

2 function FloatToStr ( Value : Extended; const FormatSettings : TFormatSettings ) : string;

Описание
Функция FloatToStr преобразовывает значение Value плавающей запятой в визуализуемую строку.

Значение отображается с 15 цифрами точности.

Типом Value может быть любой из типов с плавающей запятой.

Если значения перед десятичной точкой (мантиссой) превышают вместимость дисплея (15), то используется значение экспоненты, типа 1.2E9.

Используйте функцию FloatToStrF для управления форматированием.

Похожие команды
DecimalSeparator Символ используемый для отображения десятичной точки

FloatToStrF Преобразует значение с плавающей запятой в строку с форматированием

Источник

Floattostr delphi что это

Типом Value может быть любой из с типов с плавающей запятой.

Параметр Format определен TFloatFormat (SysUtils) типом:

Другие параметры зависят от этого формата. См. TFloatFormat для полных подробностей.

Вы можете изменить позицию строки валюты используя переменную CurrencyFormat.

Вы можете изменить значение десятичной точки, устанавливая символ DecimalSeparator.

Вы можете изменить символ разделителя тысяч, устанавливая символ ThousandSeparator.

Если полное количество цифр перед десятичной точкой (мантисса) не может быть отображено, то отображение возвращается к экспоненте (научный) формат.

Похожие команды
CurrencyDecimals Определяет число десятичных цифр в функции Format

CurrencyFormat Определяет размещение строки валюты в функции показа валюты

CurrencyString Строка валюты, используемая в функциях отображения валюты

DecimalSeparator Символ используемый для отображения десятичной точки

FloatToStr Преобразует значение с плавающей запятой в строку

NegCurrFormat Определяет отображение отрицательного количества форматированной валюты

TFloatFormat Форматы, используемые в функциях отображения чисел с плавающей запятой

ThousandSeparator Символ, используемый для отображения разделителя тысяч

Источник

Функции и процедуры Delphi. Справочник.

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

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

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

Тип Precision Тип Precision Тип Precision
Single =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);
MessageDlg( SumStr, mtInformation, [mbOk], 0);
end;

Источник

Читайте также:  что делать если заболела рыбка петушок
Сказочный портал