TRANSFORM( ) (Función)
Devuelve una cadena de caracteres de una expresión en un formato determinado por un código de formato.
TRANSFORM(eExpression, [cFormatCodes])
Valores devueltos
Character
Parámetros
- eExpression
Especifica la expresión numérica, de fecha, de moneda o de caracteres a la que desea dar formato. - cFormatCodes
Especifica uno o más códigos de formato que determinan cómo se da formato a la expresión. En la siguiente tabla se muestran los códigos de formato disponibles.Códigos de formato Descripción @B Alinea a la izquierda los datos numéricos en la zona de presentación. @C Se anexa CONFIGURAR a los valores de moneda o numéricos positivos para indicar un crédito. @D Los valores Date y DateTime se convierten al formato SET DATE actual. @E Los valores Date y DateTime se convierten al formato de fecha BRITISH. @L Rellena datos numéricos con ceros a la izquierda. @R La transformación utiliza una máscara de formato. Los caracteres de la máscara no se almacenan en el valor transformado. Se usa sólo con datos de caracteres o numéricos. La máscara puede incluir los siguientes caracteres: 9 o # Representa un carácter o un número.
! Convierte letras minúsculas en mayúsculas.
@Tabla Se eliminan los espacios en blanco de los valores de tipo Character. @X DB se anexa a valores numéricos o de moneda negativos para indicar un débito. @Z Si es 0, los valores numéricos o de moneda se convierten en espacios. @( Incluye entre paréntesis los valores numéricos o de moneda negativos. @^ Convierte valores numéricos o de moneda en valores científicos. @0 Convierte valores numéricos o de moneda en sus equivalencias hexadecimales. El valor numérico o de moneda tiene que ser positivo y menor que 4.294.967.296. @! Convierte toda una cadena de caracteres en mayúsculas. @$ Agrega el símbolo de moneda actual especificado con SET CURRENCY a los valores de moneda y numéricos. De forma predeterminada, el símbolo se colocará inmediatamente antes o inmediatamente después del valor. De todas formas, tanto el símbolo de moneda y su colocación (especificados con SET CURRENCY), como el carácter de separación (especificado con SET SEPARATOR) y el carácter decimal (especificado con SET POINT) se pueden modificar. X Especifica el ancho de los valores de caracteres. Por ejemplo, si cFormatCodes es ‘XX’, se devuelven 2 caracteres. Y Convierte los valores lógicos verdadero (.T.) y falso (.F.) en Y y en N, respectivamente. ! Convierte los caracteres que están en minúsculas en una cadena de caracteres en mayúsculas en la posición correspondiente. . Especifica la posición del separador de decimales en los valores numéricos y de moneda. , Separa los dígitos que están a la izquierda del separador de decimales en los valores de moneda y numéricos.
Si omite cFormatCodes, Visual FoxPro realiza una transformación predeterminada en eExpression. La siguiente tabla describe las transformación predeterminada para cada tipo de datos que puede contener eExpression:
Tipo de datos | Descripción de la transformación |
---|---|
Character | No se realiza ninguna transformación. |
Currency | La transformación está determinada por los valores especificados en la ficha Regional del cuadro de diálogo Opciones. |
Fecha | Se realiza una transformación DTOC( ) en la fecha. |
DateTime | Se realiza una transformación TTOC( ) en la fecha y hora. |
Lógicas | Los valores lógicos verdadero (.T.) y falso (.F.) se transforman en las cadenas de caracteres ".T." y ".F." respectivamente. |
Numeric (incluye los tipos de datos Double, Float o Integer) | Se quitan los ceros a la izquierda de la parte decimal de un valor numérico. Si el valor numérico es un número entero, no se incluye un signo decimal en el valor transformado (por ejemplo, 4,0 se convierte en 4). Si el valor numérico es menor que 1 pero mayor que -1, se incluye un cero antes del signo decimal (por ejemplo, ,4 se transforma en 0,4). |
General | Devuelve "Gen" si el campo general contiene un objeto; devuelve "gen" si el campo general no contiene un objeto. |
Memo | No se realiza ninguna transformación. |
Ejemplo
STORE 12.34 TO gnPrice
CLEAR
? TRANSFORM(gnPrice, '$$$$.99') && Displays $12.34