0

我正在尝试使用链接到 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 的值?任何比这更大的东西都会变成一些看似随机的值。

谢谢!

4

0 回答 0