NSNumberFormatter сохраняет десятичный разделитель, даже если десятичные дроби отсутствуют
У меня есть UILabel и его форматер:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setGroupingSeparator:@"."];
[formatter setGroupingSize:3];
[formatter setAlwaysShowsDecimalSeparator:NO];
[formatter setUsesGroupingSeparator:YES];
[formatter setDecimalSeparator:@","];
NSString *formattedString = [formatter stringFromNumber:[NSNumber numberWithFloat:12.]]];
Так что мой formattedString возвращает 12
Что делать, если я хочу оставить запятую, когда нет десятичной дроби? Так что мой UIlabel печатает "12."?
1 ответ
Если вы хотите увидеть запятую, когда нет десятичной дроби, установите alwaysShowsDecimalSeparator
соответственно
[formatter setAlwaysShowsDecimalSeparator:YES];
Таким образом, ваш UILabel
скажет "12" (не "12").