Я использую следующий фрагмент кода Objective-C для форматирования NSNumber, и он отлично работает в большинстве случаев, но он не совсем делает то, что я хочу, когда объект NSNumber содержит целое число (без дробной части).
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(80.0f, 90.0f, 225.0f, 40.0f)];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor whiteColor];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setFormat:@"###.##"];
int bytes = 1024 * 1024;
NSNumber *total = [NSNumber numberWithFloat:([self.totalFileSize floatValue] / bytes)];
label.text = [NSString stringWithFormat:@"0.00 MB of %@ MB", [formatter stringFromNumber:total]];
Так, например, если self.totalFileSize
содержит 55.2300, он отобразит "55.23", как это должно быть на моем UILabel
. Но если эта же переменная имеет значение 55, она просто отобразит "55" на ярлыке.
Я действительно хочу, чтобы этот код всегда включал в него два десятичных знака.
Как я могу это достичь?