Int() 不会从字符串转换为可选整数 (Swift)



我是新手的编程,并从Swift开始。我带来的第一个问题是以下内容:

我有4个变量

var a = "345"
var b = "30.6"
var c = "74hf2"
var d = "5"

我需要计算整数的总和(如果不是整数,它将转向nil(

if Int(a) != nil {
  var aNum = Int(ar)!
} 
if Int (b) != nil {
  var bNum = Int (b)! 
}       

等等..

据我了解,

int((应将每个元素转换为可选整数。

然后,我应该通过转换int使用强制解开?直到int,只有这样,我才能将其用于我的目的。但是,相反,当我计算变量的总和时,编译器将它们总结为字符串。

 var sum = aNum + bNum + cNum + dNum

输出:

  34530.674hf25

为什么我的变量被声明为字符串,然后将其转换为Int((的可选整数?

您的代码具有错别字,使您很难说出您实际尝试做什么:

假设您的第二个变量应为b,如下:

var a = "345"
var b = "30.6"
var c = "74hf2"
var d = "5"
///Then you can use code like this:
var sum = 0
if let aVal = Int(a) { sum += aVal }
if let bVal = Int(b) { sum += bVal }
if let cVal = Int(c) { sum += cVal }
if let dVal = Int(d) { sum += dVal }
print(sum)

打印350,因为只有3455是有效的INT值。

最新更新