• Domingo 15 de Diciembre de 2024, 00:47

Autor Tema:  Re: convertir CString en double  (Leído 1125 veces)

CzopMonica

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: convertir CString en double
« en: Martes 11 de Febrero de 2003, 13:45 »
0
Hola,
mi nombre es Mónica y soy una absoluta principiante en C++
Tengo una pregunta/problema que me está enloqueciendo.
Hace ya un par de años que programo en Delphi y Visual C++ no tiene nada que ver con Delphi.
Mi problema es:
Tengo un archivo .txt que leo línea por línea y lo muestro. Hasta ahi todo bien. Los campos de cada línea del archivo son CString (la aplicación tiene que correr bajo Windows CE). Con cuatro de esos campos (que son números ) y otro que ingreso en un edit (con variable double) tengo que mostrar el resultado.
Mi problema es: cómo convierto los campos CString a double?
Encontré la función atof pero no logro que funcione.

Mi código
            double MyDouble_DREHZAHL ;
   m_pLagerdaten = ( CLagerdaten* )m_pMain->m_OBALagerdaten[lInde];    
   m_strBPFI         = m_pLagerdaten->GetBPFI();
   m_strBPFO         = m_pLagerdaten->GetBPFO();
   m_strBSF          = m_pLagerdaten->GetBSF();
   m_strTFT          = m_pLagerdaten->GetTFT();

    MyDouble_DREHZAHL = m_dDREHZAHL;

   double atof( CString m_strBPFI); (esto no funciona)
//   double atof( CString m_strBPFO);
//   double atof( CString m_strBSF);
//   double atof( CString m_strTFT);

   MyDouble_dBPFI2 ==  m_strBPFI; (da 0)
   //MyDouble_dBPFO2 =  m_strBPFO;
   //MyDouble_dBSF2 =   m_strBSF;
   //MyDouble_dTFT2 =   m_strTFT;

   m_dBPFI2 = ( MyDouble_DREHZAHL * MyDouble_dBPFI2); (da 0)
   m_dBPFO2 = ( MyDouble_DREHZAHL);// * MyDouble_dBPFO2 );//  );
   m_dBSF2  = ( MyDouble_DREHZAHL);// * MyDouble_dBSF2);//   );
   m_dTFT2  = ( MyDouble_DREHZAHL);// * MyDouble_dTFT2);//   );

Muchísimas gracias por alguna idea de cómo hacerlo
Respetuosos saludos

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
convertir CString en double
« Respuesta #1 en: Martes 11 de Febrero de 2003, 13:56 »
0
No veo en el código que colocas que hagas una asignación al double.

double a;

a=atof(cadena);

Ahora, si este no es el problema, intenta hacer el atof con una cadena pura:

a=atof("123.457");

Si esto te funciona, es posible que la función no interprete el tipo CString.

Suerte,

gmantil