我想评估 iOS 中用 JavaScipt 编写的字符串,并了解到我可以通过使用以下方法来实现:
[self.webView stringByEvaluatingJavaScriptFromString:formula]
我使用的代码是:
NSString *formula = @"( 1.5 * Math.pow(2, 3) )/12";
公式 = [NSString stringWithFormat:@"eval('%@')", 公式];
NSInteger 值 = [[self.webView stringByEvaluatingJavaScriptFromString:formula] integerValue];
问题是 Math.pow 函数。如果我不使用它,我会从 webView 中获得真正的值(value)。如果字符串中有 Math.pow,我只会返回空字符串。 谁能帮助我如何更改代码以便我可以使用包含 Math.pow 的字符串?
最佳答案
问题出在这里:
NSInteger value = [[self.webView stringByEvaluatingJavaScriptFromString:formula] integerValue];
将结果转换为整数值的位置。因此,它会四舍五入。
正确的是:
float value = [[self.webView stringByEvaluatingJavaScriptFromString:formula] floatValue];
请注意 value
类型和使用 floatValue
从字符串进行转换。
顺便说一句,严格来说,您不需要评估。
关于javascript - iOS 使用 UIWebView 使用 Math.pow 执行 JavaScript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23949219/