Сохранение высокоточных чисел широты и долготы в основных данных iOS

Я пытаюсь сохранить широту / долготу в основных данных. В конечном итоге они имеют точность от 6 до 20 цифр.

И по какой-то причине я использовал их как числа с плавающей запятой в Core Data, округляя их и не возвращая мне точные значения. Я пробовал "десятичный" тип, но тоже безуспешно.

Является ли NSStrings моим единственным другим вариантом?

РЕДАКТИРОВАТЬ

NSManagedObject:

@interface Event :  NSManagedObject  
{
}

@property (nonatomic, retain) NSDecimalNumber * dec;
@property (nonatomic, retain) NSDate * timeStamp;
@property (nonatomic, retain) NSNumber * flo;
@property (nonatomic, retain) NSNumber * doub;

Вот код для номера образца, который я сохраняю в основных данных:

NSNumber *n = [NSDecimalNumber decimalNumberWithString:@"-97.12345678901234567890123456789"];

Вышеприведенное значение напечатано. Сладкое, значение, которое я ожидал:

Printing description of n:

-97.12345678901234567890123456789

Код для повторного доступа:

NSNumber *n = [managedObject valueForKey:@"dec"];
NSNumber *f = [managedObject valueForKey:@"flo"];
NSNumber *d = [managedObject valueForKey:@"doub"];

Печатные значения:

Printing description of n:
    -97.1234567890124

    Printing description of f:
    <CFNumber 0x603f250 [0xfef3e0]>{value = -97.12345678901235146441, type = kCFNumberFloat64Type}

    Printing description of d:
    <CFNumber 0x6040310 [0xfef3e0]>{value = -97.12345678901235146441, type = kCFNumberFloat64Type}
8
задан MPelletier 21 January 2011 в 17:31
поделиться