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

时间:2014-08-30 20:30:43

标签: objective-c

我正在构建一个计算器,我有以下内容:

firstOperand = @"2883"
secondOperand = @"10"
operator = @"/" // division

我如何在NSString处获得结果?以下是我在Python中的等效方法:

result = str (float(firstOperand) / float(secondOperand))

我如何在Obj-C中做同样的事情?

1 个答案:

答案 0 :(得分:1)

哟有两种方法可以做到这一点。 如果你的字符串只包含这个数字而且你确定它是"写得很好"你可以使用

int i = [yourString intValue];

floatValue,或doubleValueintegerValue ...

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

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

代码是ARC。

  

NSNumberFormatter的实例格式化文本表示   包含NSNumber对象并转换文本的单元格   NSNumber对象中数值的表示。该   表示包括整数,浮点数和双精度数;漂浮和   双打可以格式化为指定的小数位。   NSNumberFormatter对象也可以对数值施加范围   细胞可以接受。