NSNumberFormatter *format = [[NSNumberFormatter alloc]init];
[format setNumberStyle:NSNumberFormatterDecimalStyle];
[format setRoundingMode:NSNumberFormatterRoundHalfUp];
[format setMaximumFractionDigits:2];
NSString *temp = [format stringFromNumber:[NSNumber numberWithFloat:23.4451]];
NSLog(@"%@",temp);
Ich brauche eine sechs Dezimalbruchzahl auf zwei Dezimalstellen. In iOS habe ich den obigen Code ausprobiert. Ich bekomme die Antwort 23.5, wenn ich Eingabe als 23.45 gebe, aber wenn ich Eingabe 23.445 gebe, lautet die Antwort 23.44.Dezimalbruch in IOS
Könnte jemand in iOS "halb aufräumen".
Aber ich bekomme richtige Antwort für den Eingang 23,45 als 23.45. – Aravindhan
Ich vermute, dass dies mit der Art und Weise zu tun hat, wie Floats im Computer dargestellt werden. Sie können 23.445 eingeben, aber intern könnte es als 23.4449999 dargestellt werden, so dass es abgerundet wird. – rdelmar