2
У меня есть метод, который создает строку стиля денег из NSNumber.Проверьте, не имеет ли NSNumber число .00 цифр или нет.
+ (NSString *)formatShortPayment: (NSNumber *)payment {
if (![payment isEqual: [NSNull null]]) {
// Set locale to GB
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setLocale: locale];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
// If the payment is 1000 or over, get rid of fraction numbers
if ([payment doubleValue] >= 1000.0) {
[formatter setMaximumFractionDigits: 0];
payment = [NSNumber numberWithFloat:([payment floatValue]/1000)];
}
else {
// Here's where I want to check if the value ends with .00 or not
}
// Return clean number
return [formatter stringFromNumber: payment];
}
return nil;
}
Это прекрасно работает, но если значение < 1000,0 Я хотел бы проверить, что хвостовые цифры и удалить их, если они равны .00.
Например: 25,00 => 25 13,29 => 13,29
Я не уверен, как лучше всего для достижения этой цели. Какие-либо предложения?
Работает элегантно и ожидаемо. Спасибо. – squarefrog
Умный действительно. Интересно, работает ли это для всех валют, но я предполагаю, что нет никакой валюты с более чем двумя цифрами ... –
@ErikvanderNeut Моя страна и несколько соседних стран. Не так уж редко, поэтому, если вы хотите сделать что-то как можно более международным, лучше избегайте этого. Это просто отвечает на вопрос ОП. – Mazyod