问题通上,如何将一个double数值转换成COleCurrency,在将COleCurrency转换回double,并且保留响应的有效位数,,,,,先谢谢了!

解决方案 »

  1.   

    CY cy;
    double db;
    COleCurrency olecy;// double 转换成COleCurrency;
    VarCyFromR8 (db, &cy);
    olecy = cy;// COleCurrenCy转换成double
    VarR8FromCy (olecy, &db);上面用到的两个函数在oleauto.h中
      

  2.   

    COleCurrency curA;           // value: 0.0000
    curA.SetCurrency(4, 500);    // value: 4.0500// value returned: 4.05
    CString sVal = curA.Format(0, MAKELCID(MAKELANGID(LANG_CHINESE,
         SUBLANG_CHINESE_SINGAPORE), SORT_DEFAULT));
    // value returned: 4,05
    curA.Format(0, MAKELCID(MAKELANGID(LANG_GERMAN,
         SUBLANG_GERMAN_AUSTRIAN), SORT_DEFAULT));
    然后在将返回的"4.05"转换成double。
    double db = atof(sVal);
      

  3.   

    同意 xstring(麻雀) 
    来晚了