Forum: Compiler & IDEs wie aus int float machen?


von µC (Gast)


Lesenswert?

Hi ich habe da eine Zahl 300 als int deklariert.
Gibt es eine einfache Möglichkeit diese Zahl als 30.0 auszugeben?

Muss ich dafür irgendwie casten?


Gruß & Danke
µC

von Till U. (tuhde)


Lesenswert?

> Muss ich dafür irgendwie casten?

Nö, nur durch 10.0 teilen, das Ergebnis ist dann float.

von udo (Gast)


Lesenswert?

Da er ein int hat, muss er cast-en.

 int i =987654321;
 double f=(double)i/10;
 printf("fload = %.2f \n\n\n" ,f);

von Till U. (tuhde)


Lesenswert?

> Da er ein int hat, muss er cast-en.

Nö, muß er nicht. Da er/ich durch 10.0 teilt und nicht durch 10 macht 
der Compiler automatisch einen Cast.

von Michael H. (michael_h45)


Lesenswert?

µC schrieb:
> Gibt es eine einfache Möglichkeit diese Zahl als 30.0 auszugeben?
printf("%d.%d", zahl / 10, abs(zahl % 10));
fertig.

von rere (Gast)


Lesenswert?

Michael H. schrieb:
> µC schrieb:
>> Gibt es eine einfache Möglichkeit diese Zahl als 30.0 auszugeben?
> printf("%d.%d", zahl / 10, abs(zahl % 10));
> fertig.
Wenn es ein int ist, kann nach dem Komma sowieso nur eine Null kommen, 
also gleich:
1
printf("%d.0\n", zahl);

von Michael H. (michael_h45)


Lesenswert?

hast du die eine zeile der antwort überhaupt gelesen?

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.