Функция ftostr

Назначение:Преобразует вещественное значение в его строковое представление.
Синтаксис:ftostr(byref num as real, mode as ftostr_mode, rnd as byte) as string
См. также:strtof, cfloat, str, val

ЭлементОписание
numПреобразуемое вещественное значение.
mode

Нужный формат вывода:

0 - FTOSTR_MODE_AUTO: формат (обычный или мантисса/порядок) выбирается автоматически. Если запись в виде мантиссы и порядка получается короче, используется она, иначе - обычный формат.

1 - FTOSTR_MODE_ME: использовать формат мантисса/порядок.

2 - FTOSTR_MODE_PLAIN: использовать обычный формат, без представления мантисса/порядок.

rndКоличество цифр, до которого округляется результат (общее число ненулевых цифр в целой и дробной частях мантиссы).

Подробности

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

Примеры ниже показывают, на что способна ftostr. У этой функции есть парная - fstr, которая вызывается неявно при присваивании вещественного значения строке (string=real). fstr работает так же, как ftostr, но параметры mode и rnd в ней фиксированы: 0 - FTOSTR_MODE_AUTO и «максимально возможное число цифр» соответственно.

Примеры

dim r1 as real
dim s as string
'demonstrate output formats
r1=10000000000.0 'notice '.0' -- it is necessary or compilier will generate an error
s=ftostr(r1,FTOSTR_MODE_ME,11) 'result will be '1E+010'
s=ftostr(r1,FTOSTR_MODE_PLAIN,11) 'result will be '10000000000'
s=ftostr(r1,FTOSTR_MODE_AUTO,11) 'result will be '1E+010' because this representation is more
compact
'demonstrate rounding
r1=1234567.125
s=ftostr(r1,FTOSTR_MODE_AUTO,15) 'result will be '1234567.125'
s=ftostr(r1,FTOSTR_MODE_AUTO,9) 'result will be '1234567.13'
s=ftostr(r1,FTOSTR_MODE_AUTO,2) 'result will be '1200000'
s=r1 'fstr will be used, result will be '1234567.125'
Исходный материал Tibbo обновлён 21 июля 2022Оригинал на docs.tibbo.com · Сообщить об ошибке