Konvertierungsprobleme



  • hallo,

    folgendes:

    Ich möchte double-Werte mit zwei Nachkommastellen in meiner Ansicht darstellen. Dies funktioniert auch
    mit Hilfe des Befehls sprintf.
    Leider läuft das Programm nur in der Release-Version.
    Im Debug-Modus schliesst er mir die ganze Anwendung.
    Gibt es eine elegantere Möglichkeit ?
    hier der Quelltext von OnDraw in der Ansichtsklasse:

    char    aMitNr[10];
    	char aMoUmsatz[10];
    	char aStunden[10];
    	char aProv[10];
    	char aMinUmsatz[10];
    	char aUmStunde[10];
    	CString strMoUmsatz;
    	CString strMitNr;
    	CString strStunden;
    	CString strUmProStunde;
    	CString strProv;
    	CString strMinUmsatz;
    
    	sprintf(aMitNr, "%d", pDoc->m_nMitarbeiterNr);
    	sprintf(aMoUmsatz, "%.2f", pDoc->m_dblDocMoUmsatz);
    	sprintf(aStunden, "%.2f", pDoc->m_dblDocStunden);
    	sprintf(aUmStunde, "%.2f", pDoc->m_dblDocStunde);
    	sprintf(aProv, "%.2f", pDoc->m_dblDocProv);
    	sprintf(aMinUmsatz, "%.2f", pDoc->m_dblDocMinUm);
    
    	strMoUmsatz = _T(aMoUmsatz);
    	strMitNr = _T(aMitNr);
    	strStunden = _T(aStunden);
    	strUmProStunde = _T(aUmStunde);
    	strProv = _T(aProv);
    	strMinUmsatz = _T(aMinUmsatz);
    
    	pDC->TextOut(10, 30, "   MitarbeiterNr :             " + strMitNr); 
    	pDC->TextOut(10, 80, "   Name :                      " + pDoc->m_strName);
    	pDC->TextOut(10, 130,"   Abteilung :                 " + pDoc->m_strDocAbteilung);
    	pDC->TextOut(10, 180,"   Monat :                     " + pDoc->m_strDocMonat);
    	pDC->TextOut(10, 230,"   Monatsumsatz :              " + strMoUmsatz +   "  EUR");
    	pDC->TextOut(10, 280,"   Arbeitsstunden :            " + strStunden +    " im Monat"); 
    	pDC->TextOut(10, 330,"   Umsatz pro Stunde :         " + strUmProStunde +" EUR pro Stunde");
    	pDC->TextOut(10, 380,"   Mindestumsatz pro Stunde :  " + strMinUmsatz +  " EUR pro Stunde");
    	pDC->TextOut(10, 430,"   Provision  :                " + strProv +       " EUR ");
    

    danke für jeden Vorschlag



  • Servus,

    Du schreibst erst in einen Char und dann in einen CString. Du kannst auch direkt in einen CString schreiben:

    CString strMitNr;
    strMitNr.Format("%.2f", pDoc->m_nMitarbeiterNr);
    

    *winke*
    Hellsgore


Anmelden zum Antworten