我试图先将UITextfield Value转换为float,然后将其转换为NSNumber,但这似乎不起作用,如下所示。
float carb = [self.carbGrams.text floatValue];
NSLog(@"%.2f", carb);
nCarbGrams = carb;
在最后一行中,我收到以下错误消息:
从不兼容的类型'float'
分配给'NSNumber * __ strong'我刚刚尝试通过执行此操作将碳水化合物指定为NSNumber
NSNumber *carb = [self.carbGrams.text floatValue];
NSLog(@"%.2f", carb);
nCarbGrams = carb;
但我收到此错误消息:
使用不兼容类型'float'
的表达式初始化'NSNumber * __ strong'正如我读过的那样,尽管NSNumber可以接受任何类型的数值,但我似乎不正确,有人可以评估一下这个问题吗?
答案 0 :(得分:3)
您可以使用Objective-C文字语法:
NSNumber *carb = @([self.carbGrams.text floatValue]);
答案 1 :(得分:2)
试试这个:
NSNumber *carb = [NSNumber numberWithFloat:[self.carbGrams.text floatValue]];
答案 2 :(得分:2)
您需要从float中创建一个NSNumber
类型的对象。就这样
float carb = [self.carbGrams.text floatValue];
NSNumber *nCarb = [NSNumber numberWithFloat: carb];
或者为什么不使用花哨的(新的)文字语法
NSNumber *nCarb = @([self.carbGrams.text floatValue]);