Árvore de páginas

Sintaxis

 

STR( <expresión numérica 1>  [ , <expresión numérica 2> ] [ , <expresión numérica 3> ] )

 

 

Propósito

 

Convierte un número o el resultado de una expresión numérica en una cadena de caracteres.

 

 

Argumentos

 

< expresión numérica 1 >

 

Define el número o la expresión numérica que se convertirá en una cadena de caracteres.

 

< expresión numérica 2 >

 

Define la longitud (tamaño) de la cadena de caracteres que se suministrará, incluyendo los decimales, el punto decimal y el signo negativo, si hubiera.

 

< expresión numérica 3 >

 

Define el número de decimales que se suministrará en la cadena de caracteres resultante.

 

 

Utilización

 

Esta función es muy útil para imprimir datos numéricos concatenados con datos carácter, en la conversión de datos numéricos para la constitución de claves de índice que combinen datos numéricos y caracteres, entre otras situaciones.

 

Si no se especifican las expresiones numéricas 2 y 3, la cadena de caracteres se suministrará de acuerdo con las siguientes reglas:

 

<expresión numérica 1>

Longitud de la cadena de caracteres

Campo de archivo de datos

Idéntico a la longitud del campo.

Expresiones o constantes

Como mínimo 10 posiciones y los decimales.

VAL()

Como mínimo 3 posiciones.

MONTH() o DAY()

3 posiciones.

YEAR()

5 posiciones.

RECNO()

7 posiciones.

 

Si la expresión numérica 2 especifica una longitud inferior al de la parte entera de la expresión numérica 1, se suministrarán asteriscos en lugar del número.

 

Si la longitud definida por la expresión numérica 2 no es suficiente para contener todo el valor numérico que se convertirá con sus dígitos decimales, la cadena de caracteres suministrada se redondeará a la cantidad máxima posible de dígitos decimales.

 

Si no se especificó el número de decimales, el valor por convertirse se redondeará a un número entero. Si la expresión numérica 1 tuviera más decimales que las especificadas por la expresión numérica 3, el resultado se redondeará al número especificado de decimales.

 

 

Sugerencias

 

La función STR() es semejante a la función TRANSFORM(), que convierte valores numéricos en una cadena de caracteres formateada. Las máscaras para formatear son las mismas utilizadas por la cláusula PICTURE de las funciones de interfaz de pantalla (MSGET, SAY, etc.).

 

La función STR() también es semejante a la función STRZERO(), que convierte valores numéricos a una cadena de caracteres colocando ceros delante del número convertido, en lugar de espacios en blanco.

 

El inverso de la función STR() es la función VAL(), que convierte cadenas de caracteres a su respectivo valor numérico.

 

 

Ejemplos

 

nNumber = 123.45

 

MsgAlert( STR(nNumber) )                       // Resulta:        123.45

MsgAlert( STR(nNumber, 4) )                   // Resulta:  123

MsgAlert( STR(nNumber, 2) )                   // Resulta: **

MsgAlert( STR(nNumber * 10, 7, 2) )        // Resulta: 1234.50

MsgAlert( STR(nNumber * 10, 12, 4) )      // Resulta:    1234.5000

MsgAlert( STR(nNumber, 10, 1) )              // Resulta:    1234.5

 

Este ejemplo utiliza la función STR() para crear un índice con una clave compuesta de valores de límite de crédito y nombres de clientes:

 

cIndice := “A1_FILIAL + STR(A1_LIMCRED, 12, 2) + A1_NOME”

  • Sem rótulos