#iphone #objective-c #cocoa-touch #sqlite #ios4
#iPhone #objective-c #cocoa-touch #sqlite #ios4
Вопрос:
В приложении для iPhone я хочу напечатать десятичные значения, разделенные символом «,»
т. е. 2392890 должно отображаться как 2,392,890
Я извлекаю эти числа из базы данных SQLite
Ответ №1:
Это решение
//American number format - with comma sepparators between thousands
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setFormat:@"#,###"];
NSNumber *averageResponseTime = [NSNumber numberWithInt:123456789];
//If you print next thing
[NSString stringWithFormat: @"%@ms",[numberFormatter stringForObjectValue:averageResponseTime]];
//You will get 123,456,789
Комментарии:
1. Это приводит к тому, что nsnumberformattorможет не отвечать на SetFormat
2. developer.apple.com/library/mac/#documentation/Cocoa/Reference/…
3. iOS Примечание: iOS поддерживает только современное поведение 10.4 . методы в стиле 10.0 и строки формата недоступны на iOS.
Ответ №2:
Передайте свой номер следующей функции, чтобы получить форматированный вывод.
-(NSString*)getFormattedString:(double)pDoubleValue
{
NSNumber *doubleNumber = [NSNumber numberWithDouble:pDoubleValue];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *formattedOutput = [formatter stringFromNumber:doubleNumber];
[formatter release];
return formattedOutput;
}
надеюсь, это поможет.