Die Speicherung von hochpräzisen Längen-und Breitengrad zahlen, die in iOS, Core Data

Ich versuche zu speichern Breiten - /Längengrade in core data. Diese sind am Ende überall von 6-20 stelliger Präzision.

Und aus welchem Grund auch immer, hatte ich als Schwimmer in der Core-Daten, deren Rundung Sie und nicht dass Sie mir die genauen Werte wieder. Ich habe versucht, "dezimal" geben, mit der kein Glück entweder.

Sind NSStrings meine einzige andere option?

BEARBEITEN

NSManagedObject:

@interface Event :  NSManagedObject  
{
}

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

Hier ist der code für eine Probe-Nummer, die ich speichern in Kern-Daten:

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

Den oben genannten Wert gedruckt. Süß, Wert, den ich erwartet:

Printing description of n:

-97.12345678901234567890123456789

Code erneuten Zugriff:

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

Gedruckte Werte:

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}
InformationsquelleAutor Bryan | 2011-01-03
Schreibe einen Kommentar