我对swift(和完全编程)很新。我正在尝试将Int转换为String。我已经尝试过使用switch语句,但每次使用它们时,它都不会更改为String(AKA它打印数字4)我正在尝试做的一个例子如下:
class Birthday(_ month: Int, _ day:Int, _ year:Int) -> String{
//Here is where I'd like to turn my month into April
Return (month)
}
let example = Birthday()
example(4,15,1988)
答案 0 :(得分:4)
如果您真的只想从月份编号中获取月份名称,则可以执行以下操作:
let formatter = DateFormatter()
let monthName = formatter.monthSymbols[month - 1] // Assuming 1 means January
但是因为你传递了一个月,一天和一年,你可能想要创建一个Date
,然后你想将Date
格式化成一个`String。
使用Date
和Calendar
创建DateComponents
。
let date = Calendar.current.date(from: DateComponents(year: year, month: month, day: day))
然后使用Date
将String
格式化为DateFormatter
。
let formatter = DateFormatter()
formatter.dateStyle = .long // choose a desired style
formatter.timeStyle = .none
let string = formatter.string(from: date)
答案 1 :(得分:0)
您可以使用dictionary
将对象相互映射。例如,月份字典可能如下所示:
let months: [Int:String] = [1:"January", 2:"February",...]
return months[4] // returns "April"
答案 2 :(得分:0)
开始使用的简单解决方案是获取整数并返回月份字符串的方法。
func numberToMonth(number: Int) -> String {
guard number > 0, number < 13 else { return "" }
return DateFormatter().monthSymbols[number-1]
}