我正在尝试编写一个从用户输入数字并将其存储到字符串中的程序,然后我尝试将该字符串转换为整数以供进一步使用。每当我转换它时,它会显示整数值的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))
答案 0 :(得分:0)
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?
答案 1 :(得分:0)
在搜索并尝试不同的事情之后,我能够完成我想做的事情......
var user = input()
var newString = user.stringByTrimmingCharactersInSet(NSCharacterSet.newlineCharacterSet())