微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译器错误 – 如何在Swift中的int和float之间进行算术?

这是 Swift编程的第一天,直到现在我们正在使用Objective C.我试图编写简单的加法程序.喜欢,
var i = 10
var j = 10
var k = i + j
println(k)

但是当我将其中一个值更改为float时会给出错误.

var i = 10
var j = 10.4
var k = i + j
println(k)

Error: main.swift:13:11: Could not find an overload for ‘+’ that
accepts the supplied arguments

现在我做了Google搜索,尝试了几件事情双(i j),但它不工作.在这种情况下,Swift应该将int转换为float,不是吗?

请提出我是否在做任何错误的了解Swift语言.

根据您想要的结果,您应该使用该类型的init方法将其转换为适当的类型.

例如.

var myInt = 5;
var myDouble = 3.4;

如果我想要一个双重的例子在我的结果

var doubleResult = Double(myInt) + myDouble;

如果我想要一个整数,请注意,double将被截断.

var intResult = myInt + Int(myDouble)

我在示例中看到的问题是您正在尝试添加操作,然后将其转换,但是在执行添加之前,两个值都必须相同.

苹果已经使其安静严格,以避免类型错配和转换错误.有时这对于来自其他语言的开发来说可能会有点“太严格”,但我很开心,但我习惯了.

原文地址:https://www.jb51.cc/swift/318797.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐