我想计算一个字符串,我正在这样做:
NSExpression *expression = [NSExpression expressionWithFormat:calculationString];
float result = [[expression expressionValueWithObject:nil context:nil] floatValue];
NSLog(@"%f", result);
问题是,当计算字符串为1/2时,结果为0。我尝试用double和NSNumber将float和%f更改为%f和%@,但我总是得到0。我有什么改变?
此外,如果重要的话,我在欧洲,所以我用逗号而不是这个值的点,但这应该不重要,因为我使用 %f 记录,将其显示为点。仅供引用
最佳答案
基本上,你只需要告诉它你正在执行浮点运算,
1.0/2
1.0/2.0
1/2.0
一切正常
关于objective-c - NS表达式 1/2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35832331/