kostenloser Webspace werbefrei: lima-city


Kommazahl aufteilen

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    philippkern

    Kostenloser Webspace von philippkern

    philippkern hat kostenlosen Webspace.

    Hallo,
    ich habe eine Zahl mit mehreren Kommastellen.
    Diese möchte ich nun in den Teil vor und den nach dem Komma in zwei Variablen trennen.

    Wie mach ich das?

    PS.: Brauche das dazu weil ich die Werte in eine Exceldatei kopieren möchte, und da gibt es probleme weil Excel als Kommazeichen ja den , (Beistrich) und nicht den . (Punkt) hat. ;)

    Hoffe ihr wisst was ich meine.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    Mit floor() ist das eigentlich kein Problem:
    #include <math.h>
    
    double dz1 = 3.14;
    int vorne = 0;
    double hinten = 0;
    
    vorne = (int)floor(dz1);      // 3
    hinten = dz1 - vorne;    // 3.14 - 3 = 0.14


    floor() liefert die nächst kleinere Ganzzahl.

    Beitrag geändert: 26.10.2008 13:53:03 von kochmarkus
  4. Autor dieses Themas

    philippkern

    Kostenloser Webspace von philippkern

    philippkern hat kostenlosen Webspace.

    Das passt dann aber nicht, da ich ja die hinteren Zahlen als 14 haben will und nicht als 0.14.
    Oder nicht?
  5. Kannst du dann nicht einfach die Double-Zahl in einen String konvertieren, diesen dann einfach bis zum "." in die erste und nach dem "." in die zweite Variabele speichern?

    Ok, wäre zwar etwas aufwändig und verschenkt sicher viele Ressourcen und schön isses auch nicht aber... würde gehen ;)

    //EDIT: aber mit "ich habe eine Zahl mit mehreren Kommastellen." meinst du "Nachkommastellen" oder? ^^

    Beitrag geändert: 26.10.2008 16:51:35 von erasmuz
  6. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.


    Das passt dann aber nicht, da ich ja die hinteren Zahlen als 14 haben will und nicht als 0.14.
    Oder nicht?

    Da gibt es einen komplexen mathematischen Algorithmus, er nennt sich "Multiplikation". In diesem Beispiel 0.14 * 100 = 14

    €dit: Wenn du nicht abschätzen kannst wieviele Nachkommastellen es werden, dann probier mal was in dieser Art:
    do
    {
      hinten *= 10;
    }
    while(hinten != floor(hinten));


    Beitrag geändert: 26.10.2008 17:15:51 von kochmarkus
  7. Autor dieses Themas

    philippkern

    Kostenloser Webspace von philippkern

    philippkern hat kostenlosen Webspace.

    Vielen Dank an euch.
    Hat sich nun erledigt. ;)
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!