Forum: Mikrocontroller und Digitale Elektronik float in integer umwandeln


von Clemens (Gast)


Lesenswert?

Hallo!

Wollte gerade ein float in ein int umwandeln.
Weiß aber nicht genau wie das in C geht.
Kommastellen brauche ich nämlich nur in der Rechnung

stimmt das so:
float y;
int x;

x=int(y);

Mein Codevision frisst das nämlich nicht!

Grüße Clemens

von Eugen d (Gast)


Lesenswert?

zum "Casten" musst du den int klammern, also
x=(int)y
aber ob das das gewünschte ergebniss bringt kann ich dir nicht sagen
ich würde mir ansehen wie die datentypen organisiert sind und eventuell
(  nur wenn nötig) mit assembler was machen oder eben mit c wenn es denn
noch möglich ist
mfg
eugen d

von peter (Gast)


Lesenswert?

also in c stimmt der cast, es wird aber nicht gerundet sondern einfach
die Nachkommastellen weggeschnitten.
Gruss
Peter

von Peter D. (peda)


Lesenswert?

So doof ist C nicht.

x = y;

reicht völlig, die Kommastellen werden gnadenlos abgeschnitten.
Soll es gerundet sein (positive Werte), dann:

x = y + 0.5;


Peter

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
Noch kein Account? Hier anmelden.