首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我不知道如何让它们加减,有一种方法可以做到这一点。基本上我想要1"+"3 =4,但我得到的是1+3

我不知道如何让它们加减,有一种方法可以做到这一点。基本上我想要1"+"3 =4,但我得到的是1+3
EN

Stack Overflow用户
提问于 2017-02-15 14:29:28
回答 2查看 103关注 0票数 0
代码语言:javascript
运行
复制
let randsign = Int(arc4random_uniform(2) + 1)

//This function returns a random operator
func whatSign(par1:Int)-> String {

    if (par1 == 1){
        return "+"

    }
    else {
        return "-"
    }

}

var sigh = whatSign(par1: randsign)

let randnum1:Any = Int (arc4random_uniform(10) + 1)
let randnum2:Int = Int (arc4random_uniform(10) + 1)

//我想让finVal变量进行数学运算,但因为sign变量是字符串,所以不需要

代码语言:javascript
运行
复制
let finVal = "\(randnum1)\(sigh)\(randnum2)"
print(finVal)   

//When I print I get for example 1-3, 9-4, 8+2 .But I wanted them to do arithmetic 
EN

回答 2

Stack Overflow用户

发布于 2017-02-15 14:35:41

NSExpression是评估数学的好方法之一

代码语言:javascript
运行
复制
let finVal = "(randnum1)(sigh)(randnum2)" 
let result = NSExpression(format: finVal).expressionValue(with: nil, context: nil) as! Int
票数 3
EN

Stack Overflow用户

发布于 2017-02-15 14:36:58

代码语言:javascript
运行
复制
let randsign = Int(arc4random_uniform(2) + 1)
let randnum1:Any = Int (arc4random_uniform(10) + 1)
let randnum2:Int = Int (arc4random_uniform(10) + 1)
var finVal:Int
//This function returns a random operator
func whatSign(par1:Int)-> String {
//I want to compute the variables and get final result from adding or subtracting them
if (par1 == 1){
 finVal = randnum1 + randnum2
    return "+"

}
else {
 finVal = randnum1 - randnum2
    return "-"
}

}

whatSign(par1: randsign)


print(finVal) 
//When I print I get for example 1-3, 9-4, 8+2 .But I wanted them to do arithmetic 

也许它会对你有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42242139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档