Funciones de conversión de tipos de datos
Esta sección contiene breves descripciones de las funciones que convierten expresiones de un tipo de datos a otro.
Función | Qué hace |
---|---|
convert | Convierte una expresión de un tipo de datos admitido a otro. |
numbertostring | Convierte una expresión entera o flotante en una expresión de serie, utilizando una máscara especificada. |
stringtotime | Convierte una expresión de serie en una expresión de tiempo, utilizando una máscara especificada. |
timetostring | Convierte una expresión de tiempo en una expresión de serie, utilizando una máscara especificada. |
is_valid | Determina si la expresión especificada es un valor válido que se puede convertir en el tipo de dato simple especificado. |
convert
convert (source_expr, type_name)
donde:Parámetro | Descripción |
---|---|
source_expr | Una expresión de cualquier tipo de dato admitido. Esta expresión se convierte en el tipo de dato especificado en type_name. |
type_name | El tipo de dato en el que se convierte source_expr. Las entradas válidas son flotante, flotante[ ], entero, entero[ ], serie, serie[], booleano, booleano[ ], tiempo y tiempo[ ]. Tenga en cuenta que si type_name viene seguido de corchetes, source_expr también debe ser una matriz. Cada elemento de la matriz se convierte en el type_name por las reglas que se aplican a los tipos de datos simples. |
Los resultados de la función de conversión varían en función de los tipos de datos de source_exp y type_name.
Convertir un tipo booleano
Si la source_expr es de tipo booleano, los resultados de la función de conversión son los siguientes.
Convertir de booleano a... | Resultados |
---|---|
Booleano | No cambia. |
flotante | Si la expresión booleana es verdadera, el resultado es 1; si la expresión booleana es falsa, el resultado es 0. |
entero | Si la expresión booleana es verdadera, el resultado es 1; si la expresión booleana es falsa, el resultado es 0. |
serie | Si la expresión booleana es verdadera (true), el resultado es "verdadero"; si la expresión booleana es falsa, el resultado es "falso". |
hora | Error de sintaxis. |
Convertir un tipo flotante
Si la source_expr es de tipo flotante, los resultados de la función de conversión son los siguientes.
Convertir de flotante a... | Resultados |
---|---|
Booleano | Si source_expr = 0, el resultado es falso; si source_expr = 1, el resultado es verdadero. Si source_expr <> 0 o 1, se produce un error de sintaxis. |
flotante | No cambia. |
entero | Convierte la parte entera de la source_expr (es decir, trunca todos los números situados a la derecha de la coma decimal). Si el resultado no está dentro del intervalo de números enteros, se produce un error. |
serie | Da como resultado una serie de caracteres numéricos que representan al flotante. |
hora | Utiliza la parte entera de la source_expr como el número de segundos para añadir a 1/1/1970 00:00:00 UTC (Tiempo Coordinado Universal); devuelve la nueva hora. UTC (Tiempo Coordinado Universal) Anteriormente denominado GMT (hora media de Greenwich), el UTC es la zona horaria de referencia estándar a nivel mundial. Por ejemplo, la conversión (5,3, tiempo) devuelve 1/1/1970 00:00:05. |
Convertir un tipo entero
Convertir de entero a... | Resultados |
---|---|
Booleano | Si source_expr = 0, el resultado es falso; si source_expr = 1, el resultado es verdadero. Si source_expr <> 0 o 1, se produce un error de sintaxis. |
flotante | Da como resultado el valor flotante equivalente. |
entero | No cambia. |
serie | Da como resultado una serie de caracteres numéricos que representan al entero. |
hora | Utiliza la source_expr como el número de segundos para añadir a 1/1/1970 00:00:00 UTC (Tiempo Coordinado Universal); devuelve la nueva hora. Por ejemplo, la conversión (5, time) devuelve 1/1/1970 00:00:05. |
Convertir un tipo de serie
Si la source_expr es de tipo de serie, los resultados de la función de conversión son los siguientes.
Convertir de serie a... | Resultados |
---|---|
Booleano | Error de sintaxis, a no ser que source_expr = "true" o source_expr = "false". (Cualquier combinación de mayúsculas y minúsculas es aceptable.) |
flotante | Error de sintaxis, a no ser que source_expr sea una representación legítima de un valor flotante. |
entero | Error de sintaxis, a no ser que source_expr sea una representación legítima de un valor flotante. |
serie | No cambia. |
hora | Error de sintaxis, a no ser que source_expr sea una representación de un valor de tiempo y utilice el formato especificado en la máscara de fecha/hora para el sistema de flujo. |
Convertir un tipo de tiempo
Si la source_expr es de tipo tiempo, los resultados de la función de conversión son los siguientes.
Convertir de tiempo a... | Resultados |
---|---|
Booleano | Error de sintaxis. |
flotante | Devuelve el número de segundos entre la hora actual del sistema y 1/1/1970 00:00:00 UTC (Tiempo Coordinado Universal). Por ejemplo, si SysTime = 1/1/1970 00:00:28 UTC, la conversión (SysTime, flotante) devuelve 28. Si la hora actual del sistema está establecida en una zona horaria diferente a UTC, la función de conversión realiza el ajuste necesario. Por ejemplo, hay una diferencia de 8 horas entre la hora estándar del Pacífico (PST) y UTC; si SysTime = 1/1/1970 00:00:28 PST y la zona horaria local es PST, la conversión (SysTime, flotante) devuelve 28828.0. 8(horas) * 60(minutos) *60(segundos) + 28(segundos) |
entero | Devuelve el número de segundos entre la hora actual del sistema y 1/1/1970 00:00:00 UTC (Tiempo Coordinado Universal). Por ejemplo, si SysTime = 1/1/1970 00:00:28 UTC, la conversión (SysTime, entero) devuelve 28. Si la hora actual del sistema está establecida en una zona horaria diferente a UTC, la función de conversión realiza el ajuste necesario. Por ejemplo, hay una diferencia de 8 horas entre PST y UTC; si SysTime = 1/1/1970 00:00:28 PST y la zona horaria local es Pacific Standard Time (hora estándar del Pacífico, PST), la conversión (SysTime, entero) devuelve 28828. 8(horas) * 60(minutos) *60(segundos) + 28(segundos) |
serie | Da como resultado una representación de serie de la source_expr. Tenga en cuenta que esta cadena utiliza el formato especificado en la máscara de fecha y hora del sistema de trabajo. |
hora | No cambia. |
numbertostring
Esta función convierte una expresión flotante o entera en una expresión de serie, utilizando el formato que especifica. Utilice esta función cuando quiera visualizar un número en un determinado formato (por ejemplo, $1.000.000). También puede utilizar la función numbertotring para redondear números.
numbertostring (num_exp{, num_mask}opt)
donde:Parámetro | Descripción |
---|---|
num_exp | Una expresión de tipo flotante o de tipo entero. |
num_mask | Una máscara numérica que determina el formato de salida de la función numbertostring. Aunque sea opcional, tenga en cuenta que si no introduce una máscara numérica, la función numbertostring es equivalente a la función de conversión. |
Máscara numérica
Una máscara numérica es una plantilla utilizada para dar formato a la salida de la función numbertostring. Una máscara numérica es una expresión de serie que contiene cualquier combinación válida de los siguientes componentes.
Componente | Significado |
---|---|
+ (más) | Cuando es el primer o el último componente de la máscara, muestra el signo del número. Cuando está en una posición que no es ni la primera ni la última, el signo más se inserta en la serie de salida exactamente en el mismo sitio donde se puso en la máscara. Por ejemplo: numbertostring (12345, "###+##") salidas 123+45 |
- (menos) | Cuando es el primer o el último componente de la máscara, muestra un signo negativo si el número es negativo o muestra un espacio si el número es positivo. Cuando está en una posición que no es ni la primera ni la última, el signo menos se inserta en la serie de salida exactamente en el mismo sitio donde se puso en la máscara. Por ejemplo: numbertostring (123456789, "###-##-####") salidas 123-45-6789 |
# (signo de número) | Muestra un dígito si es significativo. Cuando la máscara contiene más # que dígitos significativos, los # situados más a la derecha reciben primero los números y los # que sobran se llenan con espacios en blanco. |
0 (cero) | Muestra un dígito sea o no significativo; pueden aparecer ceros tanto al principio como al final. |
. (decimal) | Determinar donde va la coma del decimal. Si no se especifica, se supone que la coma del decimal se sitúa en el extremo derecho de la máscara. El número se redondea para encajar en la máscara. Sólo se permite una coma de decimal en una máscara. |
Ejemplos de máscaras numéricas
A continuación tiene la salida resultante cuando la función numbertostring convierte los siguientes números: 0, +29, -3344 y 77,88369. A la salida se le da formato de acuerdo con las máscaras numéricas.
Máscara | 0 | +29 | -3344 | 77,88369 |
---|---|---|---|---|
0000 | 0000 | 0029 | 3344 | 0078 |
#### | 29 | 3344 | 78 | |
$#,### | $ | $29 | $3.344 | $78 |
+#### | + | +29 | -3344 | +78 |
-#### | 29 | -3344 | 78 | |
####+ | + | 29+ | 3344- | 78+ |
####- | 29 | 3344- | 78 | |
##.## | . | 29. | Error en tiempo de ejecución | 77,88 |
Redondear números
numbertostring (Number1, "#,###.###")
3.344,779
is_valid
is_valid (expr, type)
donde:Parámetro | Descripción |
---|---|
expr | Cualquier expresión. |
type | Un tipo de dato simple (booleano, flotante, entero, serie, tiempo). |
is_valid (str, Boolean)
is_valid ("1.2.3", float)
is_valid (1e20, integer)