string - 尝试在 Swift 中将输入字符串转换为整数

标签 string swift int

我正在尝试编写一个程序,该程序接受用户输入的数字并将其存储到字符串中,然后我尝试将该字符串转换为整数以供进一步使用。每当我转换它时,它都会显示 nil 的整数值,但在保留为字符串时会打印输入。到目前为止,这是我的代码。这是我第一次尝试用 swift 编写。

import Foundation

func input() -> String{
    var keyboard = NSFileHandle.fileHandleWithStandardInput()
    var inputData = keyboard.availableData
    return NSString(data: inputData, encoding:NSUTF8StringEncoding) as! String
}


print("What is a number: ")

let user: String? = input()
print("You typed: " + user!)

var num = Int(user!)
print("Your number was" ,(num))

最佳答案

Int 函数返回一个可选整数,因此如果您的字符串无法转换,它将返回 nil。如果您为其分配一个可以转换的值,您将得到您正在寻找的结果:

let user: String = "5"
var num = Int(user)

if let num = num {
    print("Your number was \(num)")
} else {
    print("Your number is nil")
}

此外,您的 input 函数返回一个 String,但您将 user 变量定义为可选的 String?

关于string - 尝试在 Swift 中将输入字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905827/

相关文章:

python - 在Python中查找拆分字符串的所有列表排列

java - 内存中带有文字字符串的 StringBuilder/StringBuffer

c - C 中的这个字符串比较函数有什么问题?字符串是如何比较的?

ios - tableview 单元格上的按钮不起作用 - swift

ios - Realm.io writeCopyToPath ?什么是逆运算?

int - Kotlin是否有将数字格式化为英语序数的标准方法?

c++ - 我创建了一个将 Int 转换为 String、建议、评论等的函数 :)

JavaScript 检查字符串是否至少有三个字符在另一个变量中

ios - Swift:在每个单元格中添加一个 UIButton,同时在代码中有一个 UITableViewCell 但在 Storyboard中没有

c - 将 int 数组转换为 short* 时,为什么为元素赋值会覆盖整个整数?