swift - 二元运算符/不能应用于 Int 和 Double 类型的操作数

标签 swift swift-playground

<分区>

你好,刚接触 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 类型的操作数”。

在深入研究之后,我发现您不能同时对整数和 double 进行操作。所以我将最后一行更改为:

let areaInMeters = (Double)area / 10.762

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

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

最佳答案

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

在 Swift 中,安全是最重要的,因此您需要拥有相同类型的两个操作数。

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

let areaInMeters = Double(area) / 10.762

关于swift - 二元运算符/不能应用于 Int 和 Double 类型的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30869313/

相关文章:

ios - 在 Firebase iOS 中重用凭据以通过 Apple 登录

ios - 如何保持 Tableview 滚动以及如何在 Swift 3 中删除原型(prototype)单元格和 tableview 之间的空白空间

swift - 如何修复每个中的 geocodeAddressString 闭包

ios - 在 Playground 中加载和注册 CGFonts

ios - 使用未声明的类型 'Date' Xcode 9 Swift 4

swift - fatal error : Only BidirectionalCollections can be advanced by a negative amount

ios - 删除字符串中的最后两个字符

ios - Swift Playgrounds 中的一个简单的笔记应用程序

ios - 无法在 Xcode Playgrounds 上运行 SAConfettiView

swift - 如何使用委托(delegate)模式将对象传输到另一个 VC?