【问题标题】:binary operator / cannot be applied to operands of type Int and Double [duplicate]二元运算符 / 不能应用于 Int 和 Double 类型的操作数 [重复]
【发布时间】:2015-06-16 13:39:56
【问题描述】:

你好,对 Swift 来说是全新的,也是一般的编程。通过一个练习,给出的代码正是:

//: Playground - noun: a place where people can play

import UIKit

let height = 12
let width = 10


let area = height * width

let areaInMeters = area / 10.762

但我得到错误,“二元运算符 / 不能应用于 Int 和 Double 类型的操作数”。

经过一番挖掘,我发现您不能同时对 Integer 和 Double 进行操作。所以我把最后一行改成:

let areaInMeters = (Double)area / 10.762

然后我得到错误,“一行上的连续语句必须用 ; 分隔”它要我把 ;后区。这对我来说没有任何意义。

使用 El Capitan 测试版和 Xcode 7 测试版。

【问题讨论】:

  • let areaInMeters = Double(area) / 10.762
  • 谢谢,我正要发帖,我明白了,哈哈。完全是我的错。谢谢!

标签: swift swift-playground


【解决方案1】:

高度和宽度都将被推断为 Int 类型。因此 area 也是 Int 类型,而 10.762 是 Double。

在 Swift 中,安全是最重要的,所以你需要有相同类型的两个操作数。

解决方案(正如 Eric D. 建议的那样)是将 area 转换为 Double:

let areaInMeters = Double(area) / 10.762

【讨论】:

    【解决方案2】:

    尝试在高度和宽度的末尾添加一个小数点和一个零。

    像这样:

    让高度 = 12.0 让宽度 = 10.0

    而且您不必担心必须处理整数。 希望这可以帮助。快乐编码!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多