iPhone -SQLite: отображать десятичные значения, разделенные комой («,»)

#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;
}
  

надеюсь, это поможет.