aus double mach int ...
-
hi,
wie mache ich aus einem double wert einen int wert ? und umgekehrt ?
also aus:
double 12.345 = int 12noch eins...
was bedeutet dieses L ?
1.0L;
-
casten. Geht auf viele verschiedene Arten, in deinem Fall:
int integer_zahl = (int)float_zahl;
oder
int integer_zahl = static_cast<int>float_zahl;
Das schneidet einfach alles nach dem Komma ab. Zum runden vor dem Casten einfach 0.5 hinzuzählen.L bedeutet afaik long. Bin mir nciht sicher.
geloescht
-
1. Indem du sie castest:
int Zielvariable; double Startvariable; Zielvariable = static_cast<int> (Startvariable);2. keine Ahnung
-
nächstes problem...
jetzt kann ich aus 12.345566464 (komsich)²
12.34 machen mit pow.???

²So dann wenn ich das ausgeben lasse also:
12.345566464 * pow(10, nachkommastelle);gibt der mir aus (angenommen nachkommastelle = 2) 12.34 ??
aber normal müsste der doch 1234.5566464 ausgeben oder net ?
damit hätte er doch praktisch schon gerundet
und ich bräuchte dascasten net aber wieso macht er das ?
__________________________________________________________ZU KOMLIZIERT!!! NOCHMAL:
Da ich mach nur pow und was daraus wird kuckt! ::::> ( der schneidet einfach nachem komma ab obwohl ich nochnet "gecasted" hab.
-
bei mir geht's. Schick mal gesamten code.
mfg.
-
Dein Ergebnis stimmt doch, nur das Komma ist noch falsch. Du musst also nur noch einen Weg finden, dieses korrekt zu setzen.

-
ja wenn ich dann wieder
zahl= zahl/pow(10, -(nachkomma));komm grütze raus

-
maru schrieb:
ja wenn ich dann wieder
zahl= zahl/pow(10, -(nachkomma));komm grütze raus

grütze ist undefiniert. Was kommt raus? Und schick am besten gesamten code mit der gesamte ausgabe. Welchen Compilier hast du?
mfg.
-
maru schrieb:
ja wenn ich dann wieder
zahl= zahl/pow(10, -(nachkomma));komm grütze raus

Und wieso negierst du nachkomma?

btw:
Verwende Klammern nur dort, wo sie Sinn machen bzw. gebraucht werden. Das unäre Minus braucht hier jedenfalls keine.