Data Type Conversion Functions

The following low-level functions convert variant data types. Higher-level variant manipulation functions (such as VariantChangeType) use these functions, but they can also be called directly.

Functions to convert to type char

From type Function
unsigned char VarI1FromUI1
unsigned short VarI1FromUI2
unsigned long VarI1FromUI4
ULONG64 VarI1FromUI8
short VarI1FromI2
long VarI1FromI4
LONG64 VarI1FromI8
float VarI1FromR4
double VarI1FromR8
CURRENCY VarI1FromCy
DECIMAL VarI1FromDec
DATE VarI1FromDate
OLECHAR * VarI1FromStr
IDispatch * VarI1FromDisp
BOOL VarI1FromBool

 

Functions to convert to type unsigned char

From type Function
unsigned short VarUI1FromUI2
unsigned long VarUI1FromUI4
ULONG64 VarI1FromUI8
char VarUI1FromI1
short VarUI1FromI2
long VarUI1FromI4
LONG64 VarUI1FromI8
float VarUI1FromR4
double VarUI1FromR8
CURRENCY VarUI1FromCy
DECIMAL VarUI1FromDec
DATE VarUI1FromDate
OLECHAR * VarUI1FromStr
IDispatch * VarUI1FromDisp
BOOL VarUI1FromBool

 

Functions to convert to type short

From type Function
unsigned char VarI2FromUI1
unsigned short VarI2FromUI2
unsigned long VarI2FromUI4
ULONG64 VarI2FromUI8
char VarI2FromI1
long VarI2FromI4
LONG64 VarI2FromI8
float VarI2FromR4
double VarI2FromR8
CURRENCY VarI2FromCy
DECIMAL VarI2FromDec
DATE VarI2FromDate
OLECHAR * VarI2FromStr
IDispatch * VarI2FromDisp
BOOL VarI2FromBool

 

Functions to convert to type unsigned short

From type Function
char VarUI2FromI1
short VarUI2FromI2
long VarUI2FromI4
LONG64 VarUI2FromI8
unsigned char VarUI2FromUI1
unsigned long VarUI2FromUI4
LONG64 VarUI2FromUI8
float VarUI2FromR4
double VarUI2FromR8
CURRENCY VarUI2FromCy
DECIMAL VarUI2FromDec
DATE VarUI2FromDate
OLECHAR * VarUI2FromStr
IDispatch * VarUI2FromDisp
BOOL VarUI2FromBool

 

Functions to convert to type long

From type Function
unsigned short VarI4FromUI2
unsigned long VarI4FromUI4
ULONG64 VarI4FromUI8
char VarI4FromI1
unsigned char VarI4FromUI1
short VarI4FromI2
LONG64 VarI4FromI8
float VarI4FromR4
double VarI4FromR8
CURRENCY VarI4FromCy
DECIMAL VarI4FromDec
DATE VarI4FromDate
OLECHAR * VarI4FromStr
IDispatch * VarI4FromDisp
BOOL VarI4FromBool
INT VarI4FromInt

 

Functions to convert to type unsigned long

From type Function
unsigned short VarUI4FromUI2
char VarUI4FromI1
short VarUI4FromI2
unsigned char VarUI4FromUI1
ULONG64 VarUI4FromUI8
long VarUI4FromI4
LONG64 VarUI4FromI8
float VarUI4FromR4
double VarUI4FromR8
CURRENCY VarUI4FromCy
DECIMAL VarUI4FromDec
DATE VarUI4FromDate
OLECHAR * VarUI4FromStr
IDispatch * VarUI4FromDisp
BOOL VarUI4FromBool

 

Functions to convert to type float

From type Function
unsigned short VarR4FromUI2
unsigned long VarR4FromUI4
ULONG64 VarR4FromUI8
char VarR4FromI1
unsigned char VarR4FromUI1
short VarR4FromI2
long VarR4FromI4
LONG64 VarR4FromI8
double VarR4FromR8
CURRENCY VarR4FromCy
DECIMAL VarR4FromDec
DATE VarR4FromDate
OLECHAR * VarR4FromStr
IDispatch * VarR4FromDisp
BOOL VarR4FromBool

 

Functions to convert to type double

From type Function
unsigned short VarR8FromUI2
unsigned long VarR8FromUI4
ULONG64 VarR8FromUI8
char VarR8FromI1
unsigned char VarR8FromUI1
short VarR8FromI2
long VarR8FromI4
LONG64 VarR8FromI8
float VarR8FromR4
CURRENCY VarR8FromCy
DECIMAL VarR8FromDec
DATE VarR8FromDate
OLECHAR * VarR8FromStr
IDispatch * VarR8FromDisp
BOOL VarR8FromBool

 

Functions to convert to type DATE

From type Function
unsigned short VarDateFromUI2
unsigned long VarDateFromUI4
ULONG64 VarDateFromUI8
char VarDateFromI1
unsigned char VarDateFromUI1
short VarDateFromI2
long VarDateFromI4
LONG64 VarDateFromI8
float VarDateFromR4
double VarDateFromR8
CURRENCY VarDateFromCy
DECIMAL VarDateFromDec
OLECHAR * VarDateFromStr
IDispatch * VarDateFromDisp
BOOL VarDateFromBool

 

Functions to convert to type CURRENCY

From type Function
unsigned short VarCyFromUI2
unsigned long VarCyFromUI4
ULONG64 VarCyFromUI8
char VarCyFromI1
unsigned char VarCyFromUI1
short VarCyFromI2
long VarCyFromI4
LONG64 VarCyFromI8
float VarCyFromR4
double VarCyFromR8
DECIMAL VarCyFromDec
DATE VarCyFromDate
OLECHAR * VarCyFromStr
IDispatch * VarCyFromDisp
BOOL VarCyFromBool

 

Functions to convert to type BSTR

From type Function
unsigned short VarBstrFromUI2
unsigned long VarBstrFromUI4
ULONG64 VarBstrFromUI8
char VarBstrFromI1
unsigned char VarBstrFromUI1
short VarBstrFromI2
long VarBstrFromI4
LONG64 VarBstrFromI8
float VarBstrFromR4
double VarBstrFromR8
CURRENCY VarBstrFromCy
DECIMAL VarBstrFromDec
DATE VarBstrFromDate
IDispatch * VarBstrFromDisp
BOOL VarBstrFromBool

 

Functions to convert to type BOOL

From type Function
unsigned short VarBoolFromUI2
unsigned long VarBoolFromUI4
ULONG64 VarBoolFromUI8
char VarBoolFromI1
unsigned char VarBoolFromUI1
short VarBoolFromI2
long VarBoolFromI4
LONG64 VarBoolFromI8
float VarBoolFromR4
double VarBoolFromR8
CURRENCY VarBoolFromCy
DECIMAL VarBoolFromDec
DATE VarBoolFromDate
OLECHAR * VarBoolFromStr
IDispatch * VarBoolFromDisp

 

Functions to convert to type DECIMAL

From type Function
unsigned short VarDecFromUI2
unsigned long VarDecFromUI4
ULONG64 VarDecFromUI8
char VarDecFromI1
usigned char VarDecFromUI1
short VarDecFromI2
long VarDecFromI4
LONG64 VarDecFromI8
float VarDecFromR4
double VarDecFromR8
CURRENCY VarDecFromCy
DATE VarDecFromDate
OLECHAR * VarDecFromStr
IDispatch * VarDecFromDisp
BOOL VarDecFromBool

 

Note

If these functions are passed NULL pointers, there will be an access violation and the program will crash. It is your responsibility to protect these functions against NULL pointers.

 

Conversion and Manipulation Functions