String Swift将数字转换为文本

String Swift将数字转换为文本,string,text,swift,String,Text,Swift,“字符串”中的结果不能转换为带有行返回arr[(val%16)]的“()”。 我确信我只是错过了一件简单的事情,但我被难住了 一个特定问题和一个可能需要对数组索引使用Int的问题: let winddir = jsonResult["deg"]? as? Double var val = ((winddir! / 22.5) + 0.5); var arr = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW"

“字符串”中的结果不能转换为带有行返回arr[(val%16)]的“()”。

我确信我只是错过了一件简单的事情,但我被难住了

一个特定问题和一个可能需要对数组索引使用
Int
的问题:

let winddir  = jsonResult["deg"]? as? Double
var val = ((winddir! / 22.5) + 0.5);
var arr = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"];
return arr[(val % 16)]
println(arr)
错误消息听起来好像您没有为函数声明返回类型:

return arr[Int(val % 16)]

我的问题的一部分是我把前两行搞乱了,所以我得到了一个零值。var deg=风[“deg”]作为双var val=((deg/22.5)+0.5);var arr=[“N”、“NNE”、“NE”、“ENE”、“E”、“ESE”、“SE”、“SSE”、“S”、“SSW”、“SW”、“WSW”、“W”、“WNW”、“NW”、“NNW”];return arr=[Double(val%16)],我不想返回func。该值是一个双精度值,那么现在您对返回arr[double(val%16)]行的格式的最佳猜测是什么?
arr
是一个
数组
——一个内容都是
字符串类型的数组。订阅将得到一个
字符串
实例。如果此代码不是函数的一部分,
return
关键字在这里没有意义-如果您想将方向(例如,“NNE”)放入另一个变量中,您可以使用
var direction=arr[Int(val%16)]
。是的,
val
是一个
双精度
,但您只能使用
Int
为数组下标。这就是我给出第一个代码示例的原因:它将double转换为整数。
func getWindDirection() -> String {
    // ...
}