类型转换
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 34 课,共 86 课。
由于 readLine() 返回 String?,你通常需要将这个字符串转换为数字,才能进行计算。Swift 要求显式进行类型转换。它不会自动将字符串转换为整数或双精度浮点数。
要将字符串转换为整数,请使用 Int() 初始化器。由于转换可能失败(字符串中可能包含字母而不是数字),因此它会返回一个可选值:
let input = "42"
if let number = Int(input) {
print(number + 10) // 输出:52
}对于小数,请使用 Double():
let priceString = "19.99"
if let price = Double(priceString) {
print(price * 2) // 输出:39.98
}将 readLine() 与数值运算结合使用时,这尤其有用。你可以将解包操作链接起来:
if let input = readLine(), let age = Int(input) {
print("Next year you'll be \(age + 1)")
}if let 语句中的逗号表示两个条件都必须满足:输入必须存在,并且必须能够转换为整数。
挑战
简单读取两个输入:一个以字符串形式表示的小数和一个以字符串形式表示的整数。将它们转换为相应的数值类型,并计算它们的乘积。
你会收到以下输入:
- 第一行:一个小数(例如,
"3.5") - 第二行:一个整数(例如,
"4")
使用 readLine() 读取这两个输入。将第一个输入转换为 Double,将第二个输入转换为 Int。然后将它们相乘并打印结果。
使用带链式可选绑定的 if let,安全地解包输入和转换后的值。
打印:两个数的乘积,类型为 Double
亲手试试
// 将小数作为字符串读取
if let decimalString = readLine() {
// 将整数作为字符串读取
if let intString = readLine() {
// TODO:在下面编写你的代码
// 使用 if let 将 decimalString 转换为 Double,将 intString 转换为 Int
// 然后计算并打印它们的乘积
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Swift 在线编辑器