首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift:乘法和括号计算不起作用

Swift:乘法和括号计算不起作用
EN

Stack Overflow用户
提问于 2017-09-30 10:58:36
回答 3查看 860关注 0票数 1

这是我想要解决的一个例子:

代码语言:javascript
运行
复制
let equation = (5-2) * (10-5) / (4-2) * (10-5)
print (equation)
//35

打印的结果是35。但正确的结果是1,5,有什么问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-30 11:00:54

这应该是可行的:

代码语言:javascript
运行
复制
let numerator: Double = (5-2) * (10-5)
let denumerator: Double = (4-2) * (10-5)

首先计算分子和数字。最后的结果是:

代码语言:javascript
运行
复制
print(result)
let result: Double = numerator/denumerator
//1.5
票数 0
EN

Stack Overflow用户

发布于 2017-09-30 11:16:54

您的表达式不正确,我希望您希望结果1.5put '(‘正确*和/ Precedence到执行是相同的,但()大于*和//

代码语言:javascript
运行
复制
let equation = ((5-2) * (10-5)) / ((4-2) * (10-5))
print (equation)

如果您将乘法放在另一个'()‘中,那么您将得到结果,其中一个可能是整数,因此它的自动转换为整数类型。

代码语言:javascript
运行
复制
let equation = Double ( (5 - 2) * (10 - 5)) / Double ((4 - 2) * ( 10 - 5 ))
print (equation)

这段代码将打印1.5

只需注意编程语言中的操作符优先性

票数 2
EN

Stack Overflow用户

发布于 2017-09-30 11:55:39

正如@araf回答的那样,您应该在编程语言中注意操作符的优先级。

它们遵循BODMAS的一条简单规则,按以下顺序进行评估:

  1. 括号
  2. 订单
  3. 除法和乘法(左至右)
  4. 加减(左至右)

在您的场景中:

代码语言:javascript
运行
复制
let equation = (5-2) * (10-5) / (4-2) * (10-5)

产出如下:

代码语言:javascript
运行
复制
3*5/2*4 = 15/2*5 = 7*5 = 35

@L.Stephan提出了一种更好的计算分子和数字的方法,然后再进行除法。

要了解更多信息,可以查看以下链接:

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

https://stackoverflow.com/questions/46502059

复制
相关文章

相似问题

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