0

SQLite データベースにリンクされたデータ エンティティを使用して iPad アプリケーションを構築しようとしています。

ある時点で数値を格納しようとしていますが、値が台無しになります。データベースの列の型がINTEGER.

コードスニペット:

- (IBAction)saveValue:(UITextField *)sender {           

    switch (sender.tag) {
        case PRICE:
            _property.asked_price = [Converter textToNumber:sender.text];
            break;
        ...
    }
}

Converter.m

+ (NSNumber *) textToNumber:(NSString *) value {
    NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
    [f setLocale: [NSLocale currentLocale]];
    [f setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [f setNumberStyle:NSNumberFormatterDecimalStyle];

    NSNumber * tempNumber = [f numberFromString: value];
    [f release];

    return tempNumber;
}

したがって、asked_priceプロパティは として宣言されNSNumber、対応するデータベース フィールドはINTEGERです。

32,767 までの値しか保存できないのはなぜですか? それよりも大きいものは、一見ランダムな値になります。

ありがとう!

4

0 に答える 0