整数除法('Int'不能转换为'Double')

时间:2015-07-14 15:44:36

标签: ios swift

我从C#开始并开始检查swift for iOS并得到以下问题......

我只想将便士数量转换为磅数并在swift中找到整数除法的问题。以下是我得到的错误。

enter image description here

我无法理解的是,它在第​​38行中运行正常,但在使用变量时第40行的错误相同。

编辑

decVal1 = 23.4这是正确的。为什么decVal2不能相同?

2 个答案:

答案 0 :(得分:5)

  

我无法理解的是,它在第​​38行中运行良好,但在第40行中出现相同的错误。

在第38行,编译器推断值的类型是满足decVal1应该是Double的要求的东西。

在第40行,您明确告诉编译器myNumberint,从而消除了编译器决定它是其他东西的能力。

答案 1 :(得分:4)

在Swift中,你不能用不同类型做数学(在这种情况下是IntDouble)。即使IntUInt也不可互换。

您必须创建匹配类型的新实例

var myNumber : Int = 2340
var doubleDiv : Double = Double(myNumber) / 100.0

在大多数情况下,文字中的小数位不是必需的,但使用相同的签名更清楚。