我从C#开始并开始检查swift for iOS并得到以下问题......
我只想将便士数量转换为磅数并在swift中找到整数除法的问题。以下是我得到的错误。
我无法理解的是,它在第38行中运行正常,但在使用变量时第40行的错误相同。
编辑
decVal1 = 23.4这是正确的。为什么decVal2不能相同?
答案 0 :(得分:5)
我无法理解的是,它在第38行中运行良好,但在第40行中出现相同的错误。
在第38行,编译器推断值的类型是满足decVal1
应该是Double
的要求的东西。
在第40行,您明确告诉编译器myNumber
是int
,从而消除了编译器决定它是其他东西的能力。
答案 1 :(得分:4)
在Swift中,你不能用不同类型做数学(在这种情况下是Int
和Double
)。即使Int
和UInt
也不可互换。
您必须创建匹配类型的新实例
var myNumber : Int = 2340
var doubleDiv : Double = Double(myNumber) / 100.0
在大多数情况下,文字中的小数位不是必需的,但使用相同的签名更清楚。