Available in the LEADTOOLS Imaging toolkit.
DoubleValue example for C++ 5.0 and later
ILEADRasterVariant_U * pltRasVar=NULL; pltRasVar->Type = VALUE_DOUBLE; pltRasVar->DoubleValue = 10.1;