将Int转换为字符串

时间:2018-01-25 20:54:48

标签: swift string int

我对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)

3 个答案:

答案 0 :(得分:4)

如果您真的只想从月份编号中获取月份名称,则可以执行以下操作:

let formatter = DateFormatter()
let monthName = formatter.monthSymbols[month - 1] // Assuming 1 means January

但是因为你传递了一个月,一天和一年,你可能想要创建一个Date,然后你想将Date格式化成一个`String。

使用DateCalendar创建DateComponents

let date = Calendar.current.date(from: DateComponents(year: year, month: month, day: day))

然后使用DateString格式化为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]
}