In ObjectARX, you can use acdbDisToF API to convert the string value to a double value. This API also takes different format string input (Decimal/Engineering/Architectural/Fractional) as shown in below code and converts the string to double value.
void convertStringToDouble()
{
//-1 to use current database units
int unit = -1;
// 5 is pr
double value = 0;
acdbDisToF(_T("15.0"), unit, &value);
acutPrintf(_T("double is %fn"), value);
//for Scientific use 1
unit = 1;
acdbDisToF(_T("1.5000000000E+01"), unit, &value);
acutPrintf(_T("Scientific : %fn"), value);
//for Decimal use 2
unit = 2;
acdbDisToF(_T("15.0000000000"), unit, &value);
acutPrintf(_T("Decimal : %fn"), value);
//for Engineering use 3
unit = 3;
acdbDisToF(_T("1'-3.0000000000""), unit, &value);
acutPrintf(_T("Engineering : %fn"), value);
//for Architectural use 4
unit = 4;
acdbDisToF(_T("1'-3""), unit, &value);
acutPrintf(_T("Architectural : %fn"), value);
//for Fractional use 5
unit = 5;
acdbDisToF(_T("15"), unit, &value);
acutPrintf(_T("Fractional : %fn"), value);
}

Leave a Reply