gpt4 book ai didi

objective-c - 将带有数学表达式的字符串转换为 float

转载 作者:行者123 更新时间:2023-12-03 17:36:06 24 4
gpt4 key购买 nike

文本字段包含数学表达式,例如:12+45-6可以将此字符串转换为数字吗?

我们可以使用谓词设施吗?

NSString *foo = @"((a*b)/c+(d/5))+15";
// dummy predicate that contains our expression
NSPredicate *pred = [NSPredicate predicateWithFormat:[foo stringByAppendingString:@" == 42"]];
NSExpression *exp = [pred leftExpression];
NSNumber *result = [exp expressionValueWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:4], @"a",[NSNumber numberWithInt:7], @"b",[NSNumber numberWithInt:2], @"c",[NSNumber numberWithInt:20], @"d",nil]context:nil];
NSLog(@"%@", result); // logs "33"<br/>

我还发现了这个https://github.com/unixpickle/ANExpressionParser

最佳答案

一个不依赖外部库的解决方案是首先将字符串转换为标记序列,然后使用 shunting-yard algorithm 计算表达式链接到一个简单的堆栈机器上。

关于objective-c - 将带有数学表达式的字符串转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6809927/

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