Objective c 将NSString转换为数字的最佳方法

Objective c 将NSString转换为数字的最佳方法,objective-c,Objective C,我正在构建一个计算器,我有以下几点: firstOperand = @"2883" secondOperand = @"10" operator = @"/" // division 如何将结果作为NSString?以下是我将如何在Python中执行等效操作: result = str (float(firstOperand) / float(secondOperand)) 在Obj-C中,我将如何做同样的事情?您有两种方法可以做到这一点。 如果您的字符串只包含数字,并且您确信它“写得很好”

我正在构建一个计算器,我有以下几点:

firstOperand = @"2883"
secondOperand = @"10"
operator = @"/" // division
如何将结果作为
NSString
?以下是我将如何在Python中执行等效操作:

result = str (float(firstOperand) / float(secondOperand))
在Obj-C中,我将如何做同样的事情?

您有两种方法可以做到这一点。 如果您的字符串只包含数字,并且您确信它“写得很好”,那么您可以使用

int i = [yourString intValue];
floatValue
,或
doubleValue
integerValue

如果字符串格式不正确,并且需要更强大的功能来提取数据,则需要使用
[NSNumberFormatter][1]
。例如:

NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber* number = [formatter numberFromString:yourString];
代码是ARC

NSNumberFormatter的实例格式化 包含NSNumber对象并转换为文本的单元格 将数值表示为NSNumber对象。这个 表示包括整数、浮点和双精度;浮动和 double可以格式化为指定的十进制位置。 NSNumberFormatter对象还可以对数值施加范围 细胞可以接受


我强烈建议查看官方文件。在那之后,如果你仍然找不到最基本的答案,试着继续搜索。另外,阅读这个问题的答案:还有
integerValue
doubleValue
longvalue
,和
boolValue
。。。但归根结底,这个问题是重复的。我应该猜到这样的问题已经被问到了。基于David542的名声,我想他应该先检查一下……这是个好主意。。。但他似乎通过了所有的渠道,并且已经忘记了如何运作。