NUMERIC

Name

NUMERIC -- 

Function

nPositive           ABS(<nExp>)
nCode               ASC(<cExp>)
TRUE || FALSE       BETWEEN(<TargetData>, <FirstData>, <SecondData>)
nNumber             BIN2I(<cSignedInt>)
nNumber             BIN2L(<cSignedInt>)
nNumber             BIN2W(<cUnsignedInt>)
cChar               CHR(<nCode>)
<nValue>            DSTRTON(<sString>)
lEmpty              EMPTY(<exp>)
nAntilogarithm      EXP(<nExponent>)
<nValue>            FSTRTON(<sString>)
nGCD                FT_GCD( <nNumber1>, <nNumber2> )
nNetPV              FT_NETPV( <nInitialInvestment>, <nInterestRate>, <aCashFlow> ; [, <nNoOfCashFlows> ] )
nRand               FT_RAND1( <nMax> )
nNumber             FT_ROUND( <nNumber> [, <nRoundToAmount>           ; [, <cRoundType>  [, <cRoundDirection>   ; [, <nAcceptableError> ] ] ] ] )
<sStr>              HASHNAME(<nHashCode>)
<nHashCode>         HASHSTR(<sStr>)
cBinaryInteger      I2BIN(<nInteger>)
nInteger            INT(<nExp>)
lBoolean            ISDIGIT(<cString>)
cBinaryInteger      L2BIN(<nExp>)
nCount              LEN(<cString> | <aTarget>)
nNaturalLog         LOG(<nExp>)
dLarger             MAX(<nExp1>, <nExp2>) --> nLarger MAX(<dExp1>, <dExp2>)
dSmaller            MIN(<nExp1>, <nExp2>) --> nSmaller MIN(<dExp1>, <dExp2>)
nRemainder          MOD(<nDividend>, <nDivisor>)
NIL                 QOUT([<exp list>]) --> NIL QQOUT([<exp list>])
nRounded            ROUND(<nNumber>, <nDecimals>)
nRoot               SQRT(<nNumber>)
cFormatString       TRANSFORM(<exp>, <cSayPicture>)
cType               TYPE(<cExp>)
nNumber             VAL(<cNumber>)
cType               VALTYPE(<exp>)

Description

Function ABS()

 ABS(<арифметическое выражение>) --> положительное число

ABS() - это числовая функция, которая служит для определения величины числового значения независимо от его знака. Это позволяет, например, определить разность между двумя числами в виде положительного значения, не зная заранее, какое из них больше.

Формально функция ABS(X) определяется в терминах ее аргумента X следующим образом: если X > 0, то ABS( X ) возвращает X, иначе ABS(X) возвращает -X.

Function BIN2I()

 BIN2I(<строка символов>) --> целое число

BIN2I() - это функция работы с файлами низшего уровня, которая используется в сочетании с функцией FREAD() для преобразования двухбайтных символьных строк, рассматриваемых как целые числа со знаком, в числа формата, принятого в системе xClipper. Такие преобразования чаще всего необходимы, когда вы считываете файлы других типов и хотите прочитать арифметические данные в их истинном формате.

Function BIN2L()

 BIN2L(<строка символов>) --> целое число

BIN2L() - это функция работы с массивами низшего уровня, которая используется в комбинации с функцией FREAD() для преобразования четырехбайтных символьных строк, форматированных как целое со знаком, в числа формата, используемого с системе xClipper. Чаще всего она используется при чтении файлов других типов для получения числовых данных в их собственном формате.

Function BIN2W()

 BIN2W(<строка символов>) --> целое число

BIN2W() - функция обработки файлов низшего уровня, которая используется в комбинации с функцией FREAD() для преобразования двухбайтных строк символов, форматированных как целое без знака, в числовые величины xClipper. Чаще всего она используется при чтении двоичного файла для получения числа в его собственном формате.

Function EXP()

 EXP(<значение>) --> е в степени <значение>

EXP() является математической функцией, которая вычисляет е**x, где е - основание натурального логарифма, а х - числовое значение. Максимальное значение выражения <значение> равно 45. При больших значениях экспоненты происходит числовое переполнение. EXP() и LOG() являются взаимно обратными функциями. Число знаков, выводимых на дисплей после десятичной точки, определяется командой SET DECIMALS, при этом текущее значение SET FIXED не учитывается.

Function FT_GCD()

 FT_GCD( <nNumber1>, <nNumber2> ) --> nGCD

This function calculates the greatest common divisor between 2 numbers, i.e., the largest number that will divide into both numbers evenly. It will return zero (0) if either number is zero.

Function FT_NETPV()

 FT_NETPV( <nInitialInvestment>, <nInterestRate>, <aCashFlow> ;
 [, <nNoOfCashFlows> ] ) --> nNetPV

This function calculates the net present value, the difference between the cost of an initial investment and the present value of the expected cash flow(s) from the investment. The present value of the expected cashflow(s) is calculated at the specified interest rate, which is often referred to as the "cost of capital".

This function can be used to evaluate alternative investments. The larger the NPV, the more profitable the investment. See also the FutureValue and PresentValue for further explanations. The formula to calculate the net present value is:

NetPresentValue = SUM(CashFlow[i] / ((1 + InterestRate) ** i)) FOR i = 1 TO NoOfCashFlows

Function FT_RAND1()

 FT_RAND1( <nMax> ) --> nRand

Generates a non-integer random number based on the Linear Congruential Method.

If you need a random number between 1 and <nMax> inclusive, INT() the result and add 1.

If you need a random number between 0 and <nMax> inclusive, then you should ROUND() the result.

Function FT_ROUND()

 FT_ROUND( <nNumber> [, <nRoundToAmount>           ;
 [, <cRoundType>  [, <cRoundDirection>   ;
 [, <nAcceptableError> ] ] ] ] )           --> nNumber

This function will allow you to round a number. The following can be specified: a. Direction (up, down or normal - normal is 4/5 convention) b. Type (whole, decimal, fraction) c. Amount (100's, 5 decimals, 16th, etc.)

Function I2BIN()

 I2BIN(<целое число>) --> символьная строка

I2BIN() является функцией обработки файлов низкого уровня, которая преобразует числовую величину в символьную строку в формате двоичного целого - младший байт располагается первым. I2BIN() используется вместе с FWRITE() для преобразования числовой величины в формате xClipper в стандартную двоичную форму. Обратной функцией к I2BIN() является BIN2I().

Function INT()

 INT(<арифметическое выражение>) --> целое число

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

Function L2BIN()

 L2BIN(<числовая величина>) --> символьная строка

L2BIN() является функцией обработки файлов низкого уровня, которая используется вместе с функцией FWRITE() для записи числовых величин в двоичный файл. Она сходна с функцией I2BIN(), которая преобразует числовую величину xClipper формата в 16-битовое двоичное целое.

L2BIN() обратна функции BIN2L(), которая используется для преобразования числовой величины, вводимой из двоичного файла, в числовую величину формата xClipper.

Function LOG()

 LOG(<арифметическое выражение>) --> натуральный логарифм

LOG() является числовой функцией, которая вычисляет натуральный логарифм и обратна по действию функции EXP(). Основанием натурального логарифма является e = 2.7183. В выражении, приведенном ниже, функция LOG() возвратит x:

e ** x = y

где y - числовое выражение, используемое как аргумент функции LOG() (т.е. LOG(y) = x). Из-за округлений в вычислениях возвращаемые функциями LOG() и EXP() значения могут точно не совпадать (т.е. EXP(LOG(x)) не всегда будет равен x).

Function MAX()

 MAX(<арифметическое выражение1>, <арифметическое выражение2>) --> большее число
 MAX(<дата1>,<дата2>) --> большая дата

MAX() является числовой функцией и функцией обработки дат. Она используется для подтверждения того, что значение выражения больше некоторого определенного минимума. Обратной функцией является MIN(), которая возвращает меньшее из двух числовых величин или дат.

Function MIN()

 МIN(<арифметическое выражение1>,<арифметическое выражение2>) --> меньшее число
 MIN(<дата 1>,<дата 2>) --> меньшая дата

MIN() - функция обработки чисел и дат, используемая для выделения значения выражения меньшего, чем заданный минимум. Обратной функцией для MIN() является MAX(), которая возвращает большее из двух числовых значений или дат.

Function MOD()

 MOD(<делимое>,<делитель>) --> остаток.

MOD() - арифметическая функция, которая эмулирует dBASE III PLUS функцию MOD(). Она реализована с использованием оператора языка xClipper - остаток от деления (%). Функция MOD() не рекомендуется для использования, так как она по своим возможностям аналогична оператору - остаток от деления (%).

Function ROUND()

 ROUND(<число>, <дробная часть>) --> округленное число

ROUND() - арифметическая функция, которая округляет число до количества десятичных разрядов, заданных аргументом <дробная часть>. Задание нуля или отрицательного значения приводит к округлению целой части числа.

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

Числа от 5 до 9 включительно округляются в большую сторону. Числа меньше пяти - в меньшую.

Вывод возвращаемого значения не зависит от текущей установки команды SET DECIMALS до тех пор, пока SET FIXED находится в режиме ON. По команде SET FIXED OFF выводится столько десятичных разрядов, сколько указано аргументом <дробная часть>, или не выводится вовсе, если значение аргумента <дробная часть> меньше 1.

Function SQRT()

 SQRT(<число>) --> квадратный корень

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