我正在尝试使用链接到 sqlite 数据库的数据实体构建 iPad 应用程序。
在某个时刻,我试图存储一个数值,但我的值被弄乱了。该字段的最大值似乎是 32.767(小整数),即使数据库列类型是INTEGER
.
代码片段:
- (IBAction)saveValue:(UITextField *)sender {
switch (sender.tag) {
case PRICE:
_property.asked_price = [Converter textToNumber:sender.text];
break;
...
}
}
转换器.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
属性被声明为 aNSNumber
并且对应的数据库字段是 a INTEGER
。
为什么它只允许我存储高达 32,767 的值?任何比这更大的东西都会变成一些看似随机的值。
谢谢!