Я использую следующий фрагмент кода 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».
Что я действительно хочу, чтобы этот код всегда включал 2 десятичных знака в выводе.
Как мне этого добиться?