Hallo, ich möchte einen double Wert in einen unsigned long Wert umwandeln. Folgendes geht doch nicht!? // ulong Longvar; double Doublvar= 1000.1; Longvar= Doublvar; // !! Dazu müsste es doch eine Bibliotheksfunktion geben (dtolong etc.)?? auch trunc() und round() gibt's nicht mit Integer- / Long-Ergebnis... Ich finde dazu nix passendes. Wie macht ihr das? PS: zur Not täte es auch float zu uint(16)...
Welchen Wert möchtest du denn in Longvar haben, wenn dein Doublvar 1000.1 beträgt, 1000 oder 1000.1? Könntest du damit leben, wenn in Longvar das Zehnfache steht, also 10001, und du so später die 0.1 zurück gewinnen kannst?
Alexxx schrieb: > ich möchte einen double Wert in einen unsigned long Wert umwandeln. > Folgendes geht doch nicht!? Und warum soll das nicht gehen?
@ kbuchegg: Setzt der Compiler wirklich eine Umwandlungsfunktion bei der Zuweisung "Longvar= Doublvar"; ein?? @ klugscheisser: Die Frage ist, was wirklich beim Casten passiert. wenn nur die 64-Bit double-Variable als 64-Bit Long uminterpretiert wird, kommt Müll raus. Letztendlich bleibt die Frage, ob der Compiler das richtige macht.
Alexxx schrieb: > @ kbuchegg: > Setzt der Compiler wirklich eine Umwandlungsfunktion bei der Zuweisung > "Longvar= Doublvar"; > ein?? Natürlich. Warum denn nicht? Alle Kommastellen werden abgeschnitten und was zahlenmässig übrig bleibt wird an den long zugewiesen. Was soll auch sonst passieren, was auch nur einigermassen sinnvoll wäre. > @ klugscheisser: > Die Frage ist, was wirklich beim Casten passiert. Die eigentliche Frage ist, warum du nicht ein C-Buch liest
wer lesen kann ist klar im vorteil .... bzw. try and error hilft auch manchmal ....
klugscheisser schrieb: > wer lesen kann ist klar im vorteil .... > bzw. try and error hilft auch manchmal .... Und wer ganz genau aufgepaßt hat, weiß, daß es eigentlich "trial and error" heißt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.