|
#include <stdio.h>
#include <comdef.h>
// *********************************************
// _variant_t を利用
// *********************************************
double Atod( LPTSTR lpData )
{
_variant_t vWork = lpData;
double d;
try {
d = (double)vWork;
}
catch ( _com_error &e ) {
d = 0;
}
return d;
}
// *********************************************
// _variant_t と _bstr_t を利用
// *********************************************
LPTSTR Dtoa( double d, LPTSTR lpData )
{
_variant_t vWork;
vWork = d;
lstrcpy( lpData, (LPTSTR)(_bstr_t)vWork );
return lpData;
}
// *********************************************
// 実行
// *********************************************
int main()
{
char buffer[80];
printf( "%lf\n", Atod( "123456.123456" ) );
printf( "%s\n", Dtoa( 999999.999999, buffer ) );
return 0;
}
| |