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 までの値しか保存できないのはなぜですか? それよりも大きいものは、一見ランダムな値になります。
ありがとう!