¿cómo puedo convertir de un objeto CString variable de punto flotante?
(Estoy usando visuall c++ 6.0 y el MFC)

Estoy tratando de utilizar un cuadro de edición para devolver un valor que me voy a poner en una matriz de flotación de los puntos. Estoy Usando el GetWindowText método para obtener el valor que devuelve un objeto CString. Así que me necesita para convertir a un número de punto flotante. (o solo estoy haciendo las cosas totalmente al revés?).

Supongo que hay métodos para hacerlo ya en el MFC.(ya han utilizado el método Format para convet a un objeto CString mostrar los valores en la matriz en el cuadro de edición)

Gracias.

OriginalEl autor karthik | 2011-04-26

1 Comentario

  1. 7

    usted puede hacer

        CString pi = "3.14";
        return atof(pi);

    EDITAR

    También utilizar esta función:

        CString pi = "3.14";
        return _ttof(pi);

    La lectura de una cadena de valor y analizar/convertir flotar permite localizar el error cuando no hay uno. Todo lo que usted necesita es una ayuda de un C función de tiempo de Ejecución: strtod() o atof().

    Yo preferiría strtod, como segundo argumento, devuelve un puntero a la cadena en la que el análisis termina:

     CString str;
    m_edtMyEditBox.GetWindowText(str);
    char *pEnd;
    double dValue = strtod(str.GetBuffer(str.GetLength()), &pEnd);
    if (*pEnd != '
     CString str;
    m_edtMyEditBox.GetWindowText(str);
    char *pEnd;
    double dValue = strtod(str.GetBuffer(str.GetLength()), &pEnd);
    if (*pEnd != '\0')
    {
    //Error in parsing
    }
    str.ReleaseBuffer();
    '
    ) { //Error in parsing } str.ReleaseBuffer();
    Creo que debe ser CString pi = _T("3.14"); si él va a usar _ttof()
    si la aplicación es compatible con caracteres unicode entonces usted debe utilizar _T() Macro de lo contrario no hay necesidad de que la macro.
    En primer lugar, es de 2011. Las aplicaciones deben de soporte de Unicode. Y segundo, si la aplicación es compatible con Unicode debe utilizar L»Cadena» y _wtof. Si no es así, «String» y atof. _T(«Cadena») y _ttof las versiones genéricas que se asignan a la correcta de acuerdo a la configuración del proyecto. Pero la mezcla de «Cadena» y _ttof es la mezcla de un ANSI literal con una función genérica, que accidentalmente se trabaja en un no-unicode, pero está mal.

    OriginalEl autor karthik

Dejar respuesta

Please enter your comment!
Please enter your name here