Я пытаюсь сохранить широту / долготу в основных данных.В конечном итоге они имеют точность от 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"];
Вышеуказанное значение напечатано.Sweet, значение, которое я ожидал:
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}