gpt4 book ai didi

objective-c - 如何获取 NSString 例如 "0+1+2",获取它们的总和并创建新字符串。对象C

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

好吧。我的应用程序有一个文本字段,旁边有两个按钮(加号按钮和等于按钮)。当您按“加号”按钮时,它会获取文本字段内的文本并为其添加“+”。代码如下:

- (IBAction)plusButtonPressed:(id)sender {
NSString *plusString = @"+";
NSString *inputString = carbsField.text;
NSString *outputString = [NSString stringWithFormat:@"%@%@",inputString,plusString];
NSLog(@"%@",outputString);
[carbsField setText:outputString];
}

我最终会让它变得更加智能,这样我就不能加两个加号或其他什么了。无论如何,然后我希望等于按钮获取文本字段中的任何内容,它应该类似于:“23+54+2.2”并获取这些值的总和。我相信我知道如何获取整数并将其设为字符串,但我想验证它:

int value = 56;
NSString *string = @"%d",value;

好吧,如果有人能告诉我如何做到这一点,我将非常感激。谢谢。

编辑目前,我还没有尝试过任何事情。这是因为我不知道从哪里开始。我知道要做什么,但不知道如何执行。我相信我需要在“+”将所有字符转换为 int 之前获取所有字符,然后获取这些值的某些数组的总和。

编辑#2我现在使用:

- (IBAction)equalButtonPressed:(id)sender {
NSString *inputString = carbsField.text;
NSArray *numbers = [inputString componentsSeparatedByString:@"+"];
int sum = 0;
for (NSString *number in numbers) {
sum += [number intValue];
}
NSString *theSum = [NSString stringWithFormat:@"%d",sum];
NSLog(@"%@",theSum);
}

但是,它根本不会记录任何内容。我做错了什么?

最佳答案

这取决于这将变得多么复杂。如果您希望实现更复杂的计算器,我建议您寻找一个可以为您完成此任务的评估器库。

但是,如果您只想在列表中添加一堆数字,您可以这样做:

NSString *input = @"1+2+3.5";
NSArray *numbers = [input componentsSeparatedByString:@"+"];
float sum = 0;
for (NSString *number in numbers) {
sum += [number floatValue];
}
NSLog(@"Result: %f", sum);

请注意,这是非常不灵活的代码,并且仅执行您所描述的操作。

关于objective-c - 如何获取 NSString 例如 "0+1+2",获取它们的总和并创建新字符串。对象C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12848744/

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