1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

double zu char*

  • insomniac
  • 27. Januar 2006 um 16:44
  • Unerledigt
  • insomniac
    4
    insomniac
    Mitglied
    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
    9
    Filz
    Mitglied
    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
    4
    insomniac
    Mitglied
    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
    5
    Ubik
    Mitglied
    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
    1
    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
    15
    J.Petso
    Mitglied
    Reaktionen
    14
    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.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

  • Fup
    12
    Fup
    Mitglied
    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.

    mfG Fup

  • fren
    4
    fren
    Mitglied
    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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung