STR( )

 Convierte una expresión numérica en una cadena de caracteres

Sintaxis

     STR(<nNúmero>, [<nLongitud>], [<nDecimales>]) –> cNúmero

Argumentos

<nNúmero> es la expresión numérica que va a convertirse en una cadena de caracteres.

<nLongitud> es la longitud de la cadena de caracteres que debe devolverse, incluyendo dígitos decimales, coma decimal y signo.

<nDecimales> es el número de posiciones decimales que hay que devolver.

Devuelve

STR() devuelve <nNúmero> con formato de cadena de caracteres. Si no se especifican los argumentos opcionales de longitud y decimales, STR() devuelve la cadena de caracteres de acuerdo con las siguientes reglas:

     Resultados de STR() sin Argumentos Opcionales

     ————————————————————————

     Expresión            Longitud de Retorno

     ————————————————————————

     Variable de campo    Longitud del campo más decimales

     Expr./constantes     Mínimo de 10 dígitos más decimales

     VAL()                Mínimo de 3 dígitos

     MONTH()/DAY()        3 dígitos

     YEAR()               5 dígitos

     RECNO()              7 dígitos

     ————————————————————————

Descripción

STR() es una función de conversión numérica que convierte valores numéricos en cadenas de caracteres. Se utiliza con frecuencia para concatenar valores numéricos a cadenas de caracteres. STR() tiene aplicaciones mostrando números, creando códigos a partir de valores numéricos como, por ejemplo, números de referencia y creando claves de índice que combinan datos numéricos y de tipo carácter.

STR() es similar a TRANSFORM(), que da formato a valores numéricos como cadenas de caracteres utilizando una máscara en lugar de especificaciones de longitud y decimales.

La función inversa de STR() es VAL() que convierte valores de tipo carácter en números.

Notas

     ¦  Si <nLongitud> es menor que el número de dígitos de número entero de <nNúmero>, STR() devuelve asteriscos en vez del número.

     ¦  Si <nLongitud> es menor que el número de dígitos decimales necesarios para la parte decimal de la cadena de retorno, DPXBASE redondea el número al número disponible de posiciones decimales.

     ¦  Si se especifica <nLongitud>, pero se omite <nDecimales> (sin lugares decimales), el valor de retorno se redondea a un entero.

Ejemplos

     ¦  Estos ejemplos demuestran el rango de valores devueltos por STR(), dependiendo de los argumentos especificados:

        nNumero:= 123.45

        ? STR(nNumero)                     // Resultado: 123.45

        ? STR(nNumero, 4)                  // Resultado: 123

        ? STR(nNumero, 2)                  // Resultado: **

        ? STR(nNumero * 10, 7, 2)          // Resultado: 1234.50

        ? STR(nNumero * 10, 12, 4)         // Resultado: 1234.5000

        ? STR(nNumero, 10, 1)              // Resultado: 1234.5

     ¦  Este ejemplo utiliza STR() para crear un índice con una clave compuesta de números de pedido y nombres de cliente:

        USE Cliente NEW

        INDEX ON STR(NumPedido, 9) + NomClien TO PedClien

Ficheros: La biblioteca asociada es DPXBASE.CH.