HTMLWEB
manuales - recursos - gráficos - programación...

Home - ASP - Funciones del lenguaje - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13

Funciones del lenguaje (VI)
por Luciano Moreno, del departamento de Diseño Web de BJS Software.


Funciones del lenguaje (E - F).-

* Eval( expresion )

Recibe como argumento una cadena (string) que contiene una expresión de VBScript válida y devuelve el resultado de dicha expresión. Es análoga a la función de igual nombre de JavaScript.

Normalmente se asocia a una variable el resultado de la ejecución de esta función, siendo entonces la sintaxis del tipo:

MiResultado = Eval( expresion )

con lo que MiResultado recogerá el valor resultante de ejecutar la expresión argumento.

Si no se establece esta igualdad entre una variable y la función Eval hay que utilizar en su lugar la instrucción Execute.

Ejemplo:

<%

    Dim MiResultado,x,y

    x = 3
    y = 3

    MiResultado = Eval( "x = y" )

%>

que retorna como valor de MiResultado true, al ser x e y iguales.

 

* Exp( numero / variable / expresion )

Función matemática. Recibe como argumento un número, una expresión numérica o una variable que lo contenga, retornando el resultado de elevar e ( base de los logaritmos naturales = 2,718282...) a dicho argumento.

Si el valor del argumento numero es mayor que 709,782712893, obtendremos un error en tiempo de ejecución.

Ejemplo:

<%

    Dim MiValor

    MiValor = Exp( 3 )

%>

con lo que tendremos que MiValor = 20.085540725765121768 (= 2,718282 ^ 3 = 2,718282 * 2,718282 * 2,718282).

 

* Filter( cadenas, valor [, incluir, comparar] )

Función de manejo de matrices. Se usa para filtrar contenidos de una matriz, recibiendo como parámetros básicos una matriz unidimensional de "cadenas" y un "valor" a buscar entre éstas, retornando una matriz de base cero que contiene un subconjunto de la matriz resultado del proceso de filtrado.

Existen dos argumentos opcionales, "incluir", valor booleano que fija si se devuelven subcadenas que incluyan o que excluyan el argumento valor, y comparar", valor numérico que indica el tipo de comparación entre cadenas que se va a usar, y que puede tomar los siguientes valores:

constante valor descripción
vbBinaryCompare 0 Realiza una comparación binaria.
vbTextCompare 1 Realiza una comparación textual.

Si no se encuentran coincidencias de "valor" dentro de "cadenas", se retorna una matriz vacía, y si "cadenas" no es una matriz unidimensional o es Null se produce un error en tiempo de ejecución.

Vamos a explicar esta función más detenidamente con un ejemplo, ya que es útil, y aunque parezca liosa no lo es:

<%

    Dim MiBusca
    Dim MiMatriz(5)

    MiMatriz(0) = "enero" 
    MiMatriz(1) = "febrero" 
    MiMatriz(2) = "marzo" 
    MiMatriz(3) = "abril" 
    MiMatriz(4) = "mayo"

    MiBusca = Filter(MiMatriz, "feb")

%>

Vemos que pasamos como argumento principal una matriz unidimensional, formada por cinco elementos, todos de tipo string, y que mediante la función Filter estamos filtrando dichos elementos para ver cuántos de ellos contienen la cadena "feb" que le hemos pasado como argumento "valor". Por lo tanto, como resultado de este código, la variable MiBusca contendrá la cadena "febrero", ya que éste es el único elemento de la matriz que contiene la cadena "feb".

Si hubiésemos pasado como argumento "valor" la cadena "er", entonces MiBusca contendría ahora dos elementos, "enero" y "febrero", ya que ambos contienen el valor de filtrado.

 

* Fix( numero / variable / expresion )

Función matemática. Recibe como argumento un número, una variable que lo contenga o una expresión numérica válida, retornando, si el argumento es positivo, el primer número entero menor o igual que dicho argumento, y si es negativo, el primer número entero mayor o igual que dicho argumento.

La función Fix es análoga a la función Int, salvo en que Int retorna el primer número entero menor o igual que el recibido como argumento, sea éste positivo o no. Es decir, la diferencia entre ambas funciones se encuentra en el tratamiento que hacen ambas de los números negativos.

Vamos a ver esto con un ejemplo:

<%

    Dim MiNumero1, MiNumero2, MiNumero3, MiNumero4

    MiNumero1 = Int(15,8)
    MiNumero2 = Fix(15,8)
    MiNumero3 = Int(-15,8)
    MiNumero4 = Fix(-15,8)

%>

con lo que tendremos:

MiNumero1 = MiNumero2 = 15

MiNumero3 = -16

MiNumero4 = -15

 

* FormatCurrency( numero [, digitos_decimales, cero_decimal, negativos_parentesis, agrupar_digitos] )

Función de formato. Se usa para representar números con formato de moneda, usando para ello el símbolo de moneda definido en el panel de control del sistema. Recibe o puede recibir los siguientes argumentos:

- numero: número, variable que lo contenga o expresión numérica válida que hay que representar con formato de moneda. Es un argumento obligatorio.

- digitos_decimales: especifica cuántos dígitos queremos que se muestren a la derecha de la coma digital. Es un argumento opcional, con valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo.

- cero_digital: que especifica si se quiere completar con ceros en el caso de que el número de decimales del argumento numero sea menor que el especificado en el argumento digitos_decimales. Es un argumento opcional, cuyos valores pueden ser -1 (se completan los decimales con ceros) y 0 (no se completan).

- negativos_parentesis: que especifica si los números negativos deben aparecer entre paréntesis o no. Es un argumento opcional, cuyos posibles valores son -1 (aparecerán entre paréntesis) y 0 (no aparecerán).

- agrupar_digitos: que especifica si deseamos agrupar los dígitos en el número formateado. Es un argumento opcional, y sus posibles valores son -1 (los agrupa segzn esté especificado en la configuración regional del equipo) y 0 (no los agrupa).

Para todos los argumentos opcionales, si no se especifica alguno de ellos se tomará por defecto lo indicado en la configuracisn regional de equipo.

Ejemplo: Si en nuestro equipo tenemos configurada como moneda el euro y como formato de moneda el que agrupa los dígitos de 3 en 3 y con 2 decimales:

<%

    Dim MiDinero

    MiDinero = FormatCurrency(12000)

%>

que retorna como valor de MiDinero 12.000,00 (símbolo del euro)

NOTA: pongo (símbolo del euro) porque el servidor de Terra no soporta dicho símbolo, y si lo pongo como tal se corta la página a partir de aquí.

 

* FormatDateTime( fecha [, formato] )

Función de formato. Recibe como argumento obligatorio una fecha o expresión que la contenga, y retorna esa fecha formateada. Posée el argumento opcional "formato", que es un valor numérico que determina el tipo de formato de fecha de retorno. Los posibles valores de este argumento son:

constante valor descripción
vbGeneralDate 0 Muestra una fecha o una hora o ambas. Si existe una parte de fecha, se muestra como fecha corta. Si existe una parte de hora, se muestra como hora larga. Si están presentes, se muestran ambas partes.
vbLongDate 1 Muestra una fecha con el formato de fecha largo especificado en la configuración regional de su equipo.
vbShortDate 2 Muestra una fecha con el formato de fecha corto especificado en la configuración regional de su equipo.
vbLongTime 3 Muestra una hora con el formato de hora especificado en la configuración regional de su equipo.
vbShortTime 4 Muestra una hora con el formato de 24 horas (hh:mm).

Si se omite el argumento "formato" se toma por defecto vbGeneralDate.

Ejemplo:

<%

    Dim MiFechaLarga

    MiFechaLarga = FormatDateTime( Date, 1)

%>

con lo que hemos almacenado en la variable MiFechaLarga la fecha actual en formato largo.

 

* FormatNumber( numero [, digitos_decimales, cero_decimal, negativos_parentesis, agrupar_digitos] )

Función de formato. Funciona exactamente igual que la función FormatCurrency, y recibe los mismos argumentos. La diferencia entre ambas es que FormatNumber no asocia ninguna moneda al número resultante. Se usa pués para dar un formato de decimales y grupos de millares a un número o expresión que lo represente.

Ejemplo:

<%

    Dim MiCoseno
    Dim MiAngulo
    Dim MiNumero

    MiAngulo = 1.5 
    MiCoseno = Cos(MiAngulo)

    MiNumero = FormatNumber(MiCoseno, 4)

%>

y en este caso MiCoseno vale 0.99965732497555728003676088836768, mientras que MiNumero vale 0.9996 (4 decimales).

 

* FormatPercent( numero [, digitos_decimales, cero_decimal, negativos_parentesis, agrupar_digitos] )

Función de formato. Los argumentos son análogos a los de la función anterior, pero ésta retorna un número formateado en forma de tanto por ciento, es decir, el número multiplicado por 100 seguido del símbolo %.

Ejemplo:

<%

    Dim MiNumero

    MiNumero = FormatPercent(0.6512)

%>

que retorna como valor de MiNumero 65.12%

 


Continuaremos...

anterior

Home - ASP - Funciones del lenguaje - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13