gpt4 book ai didi

ios - 将值读取为某些类型时出现问题

转载 作者:行者123 更新时间:2023-11-29 05:48:42 24 4
gpt4 key购买 nike

假设我有一个文件,其中数据如下所示:

1 10 20 30
2 12 33 44
3 1 2 3*

我想做的是逐行读取这些值并将它们写入我创建的数组中。问题是有些数字有这个“”符号,我应该忽略它。基本上我希望我的程序读取“3”并将其作为“3”(浮点值)保存到我的数组中。

这是我到目前为止的代码

let contents = try! String(contentsOfFile: myFileName)
let lines = contents.split(separator:"\n")

let numberOfLines = lines.count

///day is my class with three variables
let days = (0...numberOfLines).map{ _ in day() }

for n in 0...(numberOfLines-1)
{
let dataVar = lines[n].split(separator: " ")

days[n].dayNumber = Int(dataVar[0])
days[n].maxTemp = Float(dataVar[1])
days[n].minTemp = Float(dataVar[2])
}

//here I print the numbers I've read before
for n in 0...(numberOfLines-1)
{
print(days[n].dayNumber!)
print(days[n].maxTemp!)
print(days[n].minTemp!)
}

我创建一个代表每一行的对象(这对于我稍后要做的事情是必要的),我读取数字并将它们保存到我的对象中。

只要出现这些不需要的“*”,它就可以工作。我该如何度过?

最佳答案

您可以删除 *调用replacingOccurrences(of:)在将字符串转换为 Float 之前或Int :

for n in 0...(numberOfLines-1)
{
let dataVar = lines[n].split(separator: " ")

days[n].dayNumber = Int(dataVar[0].replacingOccurrences(of: "*", with: ""))
days[n].maxTemp = Float(dataVar[1].replacingOccurrences(of: "*", with: ""))
days[n].minTemp = Float(dataVar[2].replacingOccurrences(of: "*", with: ""))
}

关于ios - 将值读取为某些类型时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55879106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com