我正在尝试编写一个程序,该程序接受用户输入的数字并将其存储到字符串中,然后我尝试将该字符串转换为整数以供进一步使用。每当我转换它时,它都会显示 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/