javascript - iOS 使用 UIWebView 使用 Math.pow 执行 JavaScript 字符串

标签 javascript ios objective-c uiwebview eval

我想评估 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/

相关文章:

ios - 如何在 viewDidLayoutSubviews 中获得正确的 View 高度?

ios - Swift - 如何根据视频播放器帧的大小动态调整 UIView 的大小

objective-c - NSManagedObject 基类的选择器无法识别

ios - UIStackView 没有将自身对齐到中心?对象C

javascript - 在 Javascript 中捕获多个击键

javascript - 如何处理网站上的图像?

javascript - 当用户在 jQuery 中选择一个选项时,如何获取选择框的值和价格?

javascript - 使用react-date-picker时隐藏移动设备上的 native 键盘

ios - 清除和退出按钮

ios - NSFetchedResultsController didChangeObject 带有过滤 NSPredicate