我正在尝试从文本字段中获取用户输入并将其格式化为核心数据的double值。目前我的代码如下:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *weightDouble = [numberFormatter numberFromString:@"weight.text"];
但是,如果我打印weightDouble我得到0,如果我从UI输入打印出文本,我会得到正确的数字。我在这里做错了什么想法?我在构建时没有错误,它运行并保存正常(除了保存0而不管输入)
答案 0 :(得分:3)
首先:
(如果“weight
”为UITextField
)
NSNumber *weightDouble = [numberFormatter numberFromString:weight.text];
使用numberFromString:@"weight.text"
,您将获得文本'weight.text'的值,实际上是0。
但为什么不只是double weightDouble = weight.text.doubleValue
? (除了可能是本地化问题)