gpt4 book ai didi

Swift - 解析字符串中的数学运算

转载 作者:行者123 更新时间:2023-11-28 07:36:05 27 4
gpt4 key购买 nike

只是一个简短的问题。在 Swift 中可以解决以下代码:

var a: String;
a = "\(3*3)";

字符串中的算术运算就解决了。但我无法弄清楚,为什么以下变体不起作用。

var a: String; 
var b: String;

b = "3*3";
a = "\(b)";

在这种情况下,var a 中的算术运算不会被解析。任何想法为什么以及如何才能开始工作。如果这行得通,有些事情会容易得多。感谢您的回答。

最佳答案

在第二种情况下,您插入的是字符串,而不是算术表达式。在您的示例中,它是您在编译时选择的字符串,但通常它可能是来自用户的字符串,或者从文件或通过网络加载的字符串。换句话说,在运行时 b 可以包含一些任意字符串。编译器在运行时无法将任意字符串解析为算术。

如果要在运行时将任意字符串作为算术公式求值,可以使用NSExpression .这是一个非常简单的例子:

let expn = NSExpression(format:"3+3")
println(expn.expressionValueWithObject(nil, context: nil))
// output: 6

您还可以使用第三方库,例如 DDMathParser .

关于Swift - 解析字符串中的数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53148812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com