Возвращает символьный эквивалент числового выражения.

STR(nExpression [, nLength [, nDecimalPlaces]])

Параметры

nExpression

Задает числовое выражение, обрабатываемое функцией STR( ).

nLength

Задает длину символьной строки, возвращаемой функцией STR( ).Если заданная длина больше количества цифр слева от десятичного разделителя, функция STR( ) дополняет возвращаемую символьную строку начальными пробелами. Если заданная длина меньше количества цифр слева от десятичного разделителя, STR( ) возвращает строку из звездочек, указывая на переполнение в числовом выражении. Если параметр nLength пропущен, то по умолчание значение nLength равняется 10.

ПримечаниеПримечание

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

nDecimalPlaces

Задает число десятичных знаков в символьной строке, возвращаемой функцией STR( ). Чтобы задать это число, необходимо указать аргумент nLength. Если параметр nDecimalPlaces отсутствует, то он по умолчанию принимает значение равное нулю(0).

ПримечаниеПримечание

Visual FoxPro содержит ограничение на 16 знаков точности в числовых вычислениях. Более подробно о числовой точности в Visual FoxPro, смотри Системные Возможности Visual FoxPro.

Expand imageВозвращаемое значение

Символьный тип данных. STR( ), возвращает символьный эквивалент строки определенному числовому выражению.

В зависимости от определенных условий, STR( ), может возвращать следующее:

  • Если Вы определяете меньше десятичных знаков, чем существует в nExpression, возвращаемое значение будет округлено. Для того чтобы округлять результат к ближайшему десятичному знаку, используйте ROUND( ) функцию. Более подробно, смотри ROUND( ) Функция.

  • Если nExpression- целое число, и nLength меньше чем количество цифр в nExpression, STR( ), возвращает строку звездочек, указывающих на числовое переполнение.

  • Если nExpression содержит знак десятичной дроби, и nLength равняется или меньше чем количество цифр слева от знака десятичной дроби, STR( ), возвращает строку звездочек, указывающих на числовое переполнение.

  • Если nLength больше, чем длина nExpression, STR( ), возвращает символьную строку, дополненную ведущим пробелами.

  • Если nExpression имеет тип Numeric или Float, и nLength меньше чем количество цифр в nExpression, STR( ), возвращает величину, используя научную запись.

Expand imageПримеры

Пример 1

В следующем примере, STR( ), преобразует 1.154995 в символьное выражение, определяя длину 8 символов и то же количество десятичных порядков, что в исходном выражение, и отображает 1.154995 используя команду ?.

  CopyCode imageСкопировать пример
? STR(1.154995,8,6)

Пример 2

В следующем примере, STR( ), преобразует 1.154995 в символьное выражение, определяя длину 8 символов с 2 десятичными знаками. Использую команду? выводим 1.16, которая получается из 1.154995 округленной вверх.

  CopyCode imageСкопировать пример
? STR(1.154995,8,2)

Пример 3

В следующем примере, STR( ), включает функцию ROUND( ), преобразует 1.154995 в символьное выражение, определяя длину 8 символов с 2 десятичными знаками. Использую команду ?выводим 1.15, которая получается из 1.154995, округленного к ближайшей значимой цифре.

  CopyCode imageСкопировать пример
? STR(ROUND(1.154995,2),8,2)

Expand imageСмотрите также