Ich habe ein kleines Problem und ich kann keine Lösung finden!Problem mit Schwimmer in Objective-C
Mein Code ist (dies ist nur ein Beispielcode, aber mein Original-Code so etwas tun):
float x = [@"2.45" floatValue];
for(int i=0; i<100; i++)
x += 0.22;
NSLog(@"%f", x);
der Ausgang ist 52,450001 und nicht 52,450000!
Ich weiß nicht, weil das passiert!
Danke für jede Hilfe!
~ ~ GELÖST
Danke an alle! Ja, ich habe mit dem Doppeltyp gelöst!
hannos Link erklärt das Problem. Dieses spezielle Beispiel würde nicht mit einem Double anstelle eines Floats auftreten, aber der gleiche grundlegende Fehler existiert. – JimG
Doppel wird jedoch für andere Zahlen brechen. Versuchen Sie die Dezimalzahl –