NSNumberFormatter:字符串为Double

时间:2011-12-03 22:22:56

标签: cocoa-touch cocoa

我正在尝试从文本字段中获取用户输入并将其格式化为核心数据的double值。目前我的代码如下:

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];

NSNumber *weightDouble = [numberFormatter numberFromString:@"weight.text"];

但是,如果我打印weightDouble我得到0,如果我从UI输入打印出文本,我会得到正确的数字。我在这里做错了什么想法?我在构建时没有错误,它运行并保存正常(除了保存0而不管输入)

1 个答案:

答案 0 :(得分:3)

首先:  (如果“weight”为UITextField

NSNumber *weightDouble = [numberFormatter numberFromString:weight.text];

使用numberFromString:@"weight.text",您将获得文本'weight.text'的值,实际上是0。

但为什么不只是double weightDouble = weight.text.doubleValue? (除了可能是本地化问题)