当前位置: 首页 > 知识库问答 >
问题:

如何将readLine()的Swift 3输出转换为整数?

魏兴邦
2023-03-14

在你读完整本书之前,请不要把它标为复制品。这是针对Swift 3的。

我有一些函数,这些函数具有Ints,Floats等参数。我想把readLine()的输出,并让Swift接受readLine()的输出作为这些类型,但不幸的是readLine()输出一个字符串?当我试图转换时,它告诉我它没有打开。我需要帮助。我使用Ubuntu 16.04。

例如,如果我有区域(宽度:15,高度:15),我将如何用两个包含readLine()或任何等效于readLine()的常量替换15和15,以接受终端中用户的输入?

还请注意,我正在编写的程序是专门做数学的,因为大多数人似乎对字符串很满意,这实际上是一个基于CLI的计算器。

编辑1(lol)好的,这里有一个更准确的解释。以下代码将打印梯形的区域:

import Foundation

func areaTrapezoid(height: Float, baseOne: Float, baseTwo: Float) {
    let inside = baseOne + baseTwo
    let outside = 0.5 * height
      let result = outside * inside
        print("Area of Trapezoid is \(result)")
  }

areaTrapezoid(height: 10, baseOne: 2, baseTwo: 3)

因此,梯形的高度为10个单位,两个底部的长度分别为2和3。但是,我想做一些类似的事情:

import Foundation

func areaTrapezoid(height: Float, baseOne: Float, baseTwo: Float) {
    let inside = baseOne + baseTwo
    let outside = 0.5 * height
      let result = outside * inside
        print("Area of Trapezoid is \(result)")
  }

let h = readLine()
areaTrapezoid(height: h, baseOne: 2, baseTwo: 3)

除此之外,正如已经很明显的,readLine()将输出可选字符串,而不是浮点。如果您愿意,我希望用户能够通过CLI以某种交互方式输入数字。我只是在学习Swift,但我在学习C语言时也做了类似的事情。谢谢你能提供的帮助。

共有1个答案

陈瀚玥
2023-03-14

readLine()返回可选字符串。

若要展开字符串,可以使用if let,若要将字符串转换为整数,请使用Int()

示例

import Foundation
if let typed = readLine() {
  if let num = Int(typed) {
      print(num)
  }
}

假设您向用户提示了两次:

let prompt1 = readLine()
let prompt2 = readLine()

然后:

if let response1 = prompt1, 
    response2 = prompt2, 
    num1 = Int(response1), 
    num2 = Int(response2) {
    print("The sum of \(num1) and \(num2) is \(num1 + num2)")
}
 类似资料:
  • 问题内容: 我是JAVA的新手,我正在尝试将JTextField的输入转换为整数,我尝试了很多选项,但是没有任何作用,蚀总是给我一个错误,并且这些错误对我来说没有意义。 导入java.awt.Graphics; 导入java.awt.Color; 问题答案: 代替: 试试这个: 您不能解析为,但是 可以解析 其包含的 值 -文本。

  • 如何为新类别重新训练图像分类器中描述的脚本Retrain.py运行为 并生成输出文件。将此转换为

  • 我有一个表,它有一个主键列“gid”,它的类型是“Integer NOT NULL”。我想把它转换成“Serial NOT NULL”,这样我就可以在这个表中插入一些值。我使用以下命令将其转换为串行: 此命令将整数转换为串行。但是,当我在表中输入一些数据时,出现了以下错误: 错误:重复的键值违反唯一约束“pk_测试”。 请帮我解决这个问题。是否有其他方法将整数转换为串行?

  • 问题内容: 有没有办法在Golang中将XML([] byte)转换为JSON输出? 我有下面的功能在哪里,但我想经过一些操作后将此XML响应转换为JSON。我已经尝试过打包但没有成功: 我也在使用Go-restful软件包 问题答案: 如果需要使用未知结构将XML文档转换为JSON,则可以使用goxml2json。 范例: 注意:我是该库的作者。

  • 本文向大家介绍如何将整数转换为用R语言写的整数?,包括了如何将整数转换为用R语言写的整数?的使用技巧和注意事项,需要的朋友参考一下 如果我们有数字,那么我们可能希望将这些数字转换为单词。例如,将1转换为1。如果我们有文本数据并且数字是文本的一部分,则可能需要这样做。因此,最好以文本形式表示数字,以使文本保持一致。这可以通过使用replace_number函数qdap软件包来完成。 安装和加载qda

  • 问题内容: 我想创建一种计算整数和大十进制乘法的方法。我在Google和论坛上搜索没有找到任何内容。 有人能帮我吗? 问题答案: 要将整数(或字节/短/浮点数/双精度数)与BigInteger(或BigDecimal)相乘,必须先将本机数字转换为BigInteger / BigDecimal。 注意:是不一样的,而且在不同的原因的BigDecimal和BigInteger的。在这两种情况下,我建议