double in zwei Int Var. aufteilen



  • Hi,
    mein Problem ist, dass ich eine double Variable (entsteht aus Division zweier Zahlen -->z.b. 673 / 145) auf zwei integer aufteilen will. Also in den einen Int soll der Ganzzahlige Teil, in die andere die Nachkommastellen, wobei diese auf drei stellen begrenzt werden sollen. Wie kann ich das machen?

    Danke schon mal



  • Guten Morgen,

    also da gibt es viele Möglichkeiten, aber ich denk mal die einfachste Möglichkeit ist folgendes Beispiel

    int main()
    {
      double zahl1 = 123.22;
      int vorkommestelle,nachkommestelle;
      // das cast in einen Inteager lässt die Nachkommestellen einfach weg
      vorkommestelle = int(zahl1);
      /* Nun einfach soviel Kommastellen vor das Komma schieben wie benötigt und 
         vorher die Ganzzahl abziehen.
      */
      nachkommestelle = (zahl1 - vorkommestelle)*10;
    
      return (exit_sccuessful);
    


  • Hallo!

    So könnte es vielleicht gehen:

    double dzahl = 634.3445;
    int vor_izahle, nach_izahl;
    
    vor_izahl = (int)dzahl; /* die Nachkommastellen werden 
                               einfach abgeschnitten */
    nach_izahl = (int)((dzahl - vor_izahl) * 1000); /* mal 1000, 
                                                      wenn auf 3 Nachkommastellen*/
    

    Probier einfach mal aus!

    Gruß
    Michael



  • Eine Multiplikation mt 1 Mia ist die höchste Genauigkeit, die du auf dem Int abbilden kannst. Alle Kommastellen kannst du nur mit einem 64 Bit int Abbilden.


Anmelden zum Antworten