Para cambiar el subtipo de un variant, sólo tenemos que introducir un dato en la variable. La variable variant cambia automáticamente de un subtipo a otro, sin que tengamos que hacer ninguna operación adicional. Los distintos subtipos de datos que tenemos son los siguientes:
| Booleano |
Es un tipo de datos que contiene un si o un
no. |
| Byte | Numérico, entero sin signo hasta 65.000 |
| Currency | Tipo de moneda, se utiliza para manipular de manera exacta valores monetarios, y en general cualquier cálculo que requiera una precisión de hasta 15 dígitos decimales |
| Fecha | Es un tipo de 64 bits de tamaño que almacena fechas. Se utiliza el formato americano: mes, día, hora. |
| Double | Coma flotante con doble precisión (64 bits) |
| Entero |
Número entero, con signo. |
| Entero largo | Este tipo es un valor entero con signo de doble precisión. Como los nuevos ordenadores trabajan con palabras de 32 bits, y no menos, se recomienda usar este tipo antes de el tipo entero normal. |
| Objeto | El subtipo de objeto es una referencia de
puntero de 32 bits a una instancia de de objeto de
automatización OLE. Los controles Active-X y java. Utilizan
esta sintaxis: Set miobjeto = new oleObjeto |
| Single | Coma flotante de precisión simple |
| Cadena | Conjunto continuo de valores de caracteres, de longitud variable. |
v1 = 3 document.write VarType (v1)En este script declaramos una variable y le metemos un número y a continuación imprimimos en la página el valor que devuelve la función VarType.
| Constant | Value | Description |
|---|---|---|
| vbEmpty | 0 | Empty (uninitialized) |
| vbNull | 1 | Null (no valid data) |
| vbInteger | 2 | Integer |
| vbLong | 3 | Long integer |
| vbSingle | 4 | Single-precision floating-point number |
| vbDouble | 5 | Double-precision floating-point number |
| vbCurrency | 6 | Currency |
| vbDate | 7 | Date |
| vbString | 8 | String |
| vbObject | 9 | Automation object |
| vbError | 10 | Error |
| vbBoolean | 11 | Boolean |
| vbVariant | 12 | Variant (used only with arrays of Variants) |
| vbDataObject | 13 | A data-access object |
| vbByte | 17 | Byte |
| vbArray | 8192 | Array |