konvertierung von float nach int?

Evola

Grünschnabel
Hallo

ich schreibe gerade ein Programm für einen Mittelwert!
Wenn ich das Programm konvertiere bekomme ich immer folgende Meldung:

M:\Informatik\min\Funktin_Minimum.cpp(48) : warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data

M:\Informatik\min\Funktin_Minimum.cpp(48) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
Linking...
was könnte denn der Hintergrund von dem Problem sein denn ich muss ja einen return mit einem float machen denn mein Mittelwert kann ja auch eine Gleitkommazahl sein.

Kann mir vielleicht jemand weiterhelfen


Greez

Evola1
 
die anzahl der nachkommastellen feststellen und dann rechnen.
z.b:
float x = 10.55
dannsagst du int i = 10.55 * 100
i = 1055
und schon hast du deinen float konvertiert

DarkGreetinx LordDeath
 
Hallo.
Ich würde einfach einen Zeiger auf die Speicherstelleauf die Zahl zurückgeben, dann mußt du nichts konvertieren.

Gruß, Thomas.
 
moin


@LordDeath
Kann nicht nachvollziehen was du meinst....


@Evola
Ganz einfach:

float f = 1000;
int i;
i = f;

Schon hast du konvertiert.

Mit den Warnungen ist gemeint das alles was bei der float Variable hinterm Komma steht verloren geht, da int ja kein Komma hat!


mfg
umbrasaxum
 
@umbrasaxum
Konvertierung von int in float ;)



float hat nur 6 signifikante Stellen für die Konvertierung von int in float (damit keine Rundungsfehler auftreten).
Du solltest also lieber double anstelle von float verwenden, um von int zu konvertieren.

Gruss
Dora


 
Die Warnung macht insofern Sinn, da einfach ein paar Stellen wegfallen und daher die Genauigkeit leidet. Die Warnung soll dir das einfach nur bewusst machen. Zeig dem Compiler, dass es dir bewusst ist, und mach einen cast dahin:

int iWert = 17;
float fDummy = (float)iWert;

Warnungen sollte man grundsätzlich ernst nehmen und alle beseitigen.
 
endurion hat gesagt.:
Warnungen sollte man grundsätzlich ernst nehmen und alle beseitigen.
Das klang so ironisch. :)


Du hast natürlich recht, wenn einem bewusst ist, was dort passiert, ist ein cast völlig in Ordnung.

Es scheint aber so, dass sich Evola dem nicht völlig bewusst ist.

Gruss
Dora
 
Zurück