1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

double zu char*

  • insomniac
  • 27. Januar 2006 um 16:44
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • insomniac
    Punkte
    130
    Beiträge
    19
    • 27. Januar 2006 um 16:44
    • #1

    Hallo,

    Ich suche nach einer möglichkeit Werte vom typ double in Zeichenketten char* zu "konvertieren", d.H ohne Nachkommastellen wegzulassen wie bei einem cast zu int.

    Code
    #include <iostream>
    
    
    using namespace std;
    
    
    int main(){
      double d= 3.14;
      char* strg=toString(d);
      cout<<strg<<endl;
      return 0;
    }
    Alles anzeigen


    ergibt folgende Ausgabe:

    Code
    3.14

    bitte um Hilfe
    mfg

  • Filz
    Punkte
    815
    Beiträge
    150
    • 27. Januar 2006 um 16:47
    • #2

    #include <stdio.h>
    sprintf(strg,"%.2f",d);


    http://www.cplusplus.com/ref/cstdio/sprintf.html

  • insomniac
    Punkte
    130
    Beiträge
    19
    • 27. Januar 2006 um 16:50
    • #3

    oh.. entschuldigung.. ich hab mich etwas unklar ausgedrückt.. ( und ein dummes bsp gebracht :-))
    ich brauche etwas um den string zu erzeugen, nicht ihn auszugeben.

    outputsreams schaffen die umwandlung übrigens ebensogut ;-).

    edit:
    Oh.. danke für den Link.. perfekte antwort:verycool:

    Trotzdem danke für die schnelle antwort.

  • Ubik
    Punkte
    205
    Beiträge
    39
    • 27. Januar 2006 um 16:52
    • #4

    In VisualC++ gäbe es folgende Konvertierungs-Funktionen:

    http://msdn.microsoft.com/library/defaul…_conversion.asp

  • Paulchen
    Gast
    • 27. Januar 2006 um 18:52
    • #5
    Zitat von insomniac

    ich brauche etwas um den string zu erzeugen, nicht ihn auszugeben.

    sprintf != printf

  • J.Petso
    Punkte
    2.384
    Beiträge
    457
    • 28. Januar 2006 um 01:03
    • #6
    Zitat von Paulchen

    sprintf != printf

    Sprich, du belegst vorher einen großgenugen Speicherbereich mit malloc() oder new char[n] und sprintf()st die float-Variable dort hinein.

  • Fup
    Punkte
    1.460
    Beiträge
    291
    • 28. Januar 2006 um 10:40
    • #7

    Wenn du mit STL arbeitest, könntest du die in einen Stringbuffer reinschreiben.

  • fren
    Punkte
    160
    Beiträge
    32
    • 28. Januar 2006 um 13:30
    • #8

    die saubere c++ variante:

    C
    #include <iostream>
    #include <sstream>
    #include <iomanip>
    
    
    using namespace std;
    
    
    int main(){
      double d= 3.14;
      stringstream str;
      str << setprecision(2) << d;
      string als_string = str.str();
      char * c_string = str.c_str();
      return 0;
    }
    Alles anzeigen

    iomanip und setprecision sind natürlich optional, ohne dem verhält sichs genauso wie beim cout

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum