0

NSNumber が 1/10 の位を超えることはできないことを理解しています。倍精度 (経度/緯度) を Core Data に追加する代わりに何を使用できますか? double を直接使用しても機能せず、NSNumber は値を切り捨てます。

NSManagedObject *newManagedObject = [NSEntityDescription 
                                     insertNewObjectForEntityForName:[entity name]
                                     inManagedObjectContext:managedObjectContext];

if ([locObj valueForKey:@"latitude"]        != NULL) {
    NSNumber    *latitude       = [NSNumber numberWithInt:[[locObj valueForKey:@"latitude"] doubleValue]];
    [newManagedObject setValue:latitude forKey:@"latitude"];
}
if ([locObj valueForKey:@"longitude"]       != NULL) {
    NSNumber    *longitude      = [NSNumber numberWithInt:[[locObj valueForKey:@"longitude"] doubleValue]];
    [newManagedObject setValue:longitude  forKey:@"longitude"];
}
4

2 に答える 2

1

なぜあなたは使わないのです[NSNumber numberWithDouble:x]か?

于 2010-08-31T20:12:14.123 に答える
0

あなたは見てみるかもしれませんNSDecimalNumberか?そうでなければ、私はあなたが丸めに対処しなければならないかもしれないと信じています。

于 2010-08-31T20:00:02.610 に答える