Swift 将Int转换为字符串
我对swift(以及编程)还很陌生。我正在尝试将Int转换为字符串。我尝试过使用switch语句,但每次使用它们时,它都不会更改字符串(即打印数字4)。我尝试执行的示例如下:Swift 将Int转换为字符串,swift,string,int,Swift,String,Int,我对swift(以及编程)还很陌生。我正在尝试将Int转换为字符串。我尝试过使用switch语句,但每次使用它们时,它都不会更改字符串(即打印数字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 = Bi
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)
您可以使用
字典
,将对象映射到彼此。例如,一个月字典可能看起来像:
let months: [Int:String] = [1:"January", 2:"February",...]
return months[4] // returns "April"
您可以使用
字典
,将对象映射到彼此。例如,一个月字典可能看起来像:
let months: [Int:String] = [1:"January", 2:"February",...]
return months[4] // returns "April"
如果您确实只想从月号中获取月名,可以执行以下操作:
let formatter = DateFormatter()
let monthName = formatter.monthSymbols[month - 1] // Assuming 1 means January
但是,由于您要传入一个月、一天和一年,您可能想要创建一个日期
,然后您想要将该日期
格式化为一个`字符串
使用日历
和日期组件
创建一个日期
let date = Calendar.current.date(from: DateComponents(year: year, month: month, day: day))
然后使用日期格式化程序将日期
格式化为字符串
let formatter = DateFormatter()
formatter.dateStyle = .long // choose a desired style
formatter.timeStyle = .none
let string = formatter.string(from: date)
如果您确实只想从月号中获取月名,可以执行以下操作:
let formatter = DateFormatter()
let monthName = formatter.monthSymbols[month - 1] // Assuming 1 means January
但是,由于您要传入一个月、一天和一年,您可能想要创建一个日期
,然后您想要将该日期
格式化为一个`字符串
使用日历
和日期组件
创建一个日期
let date = Calendar.current.date(from: DateComponents(year: year, month: month, day: day))
然后使用日期格式化程序将日期
格式化为字符串
let formatter = DateFormatter()
formatter.dateStyle = .long // choose a desired style
formatter.timeStyle = .none
let string = formatter.string(from: date)
简单的解决方案是使用一个整数并返回月份字符串的方法
func numberToMonth(number: Int) -> String {
guard number > 0, number < 13 else { return "" }
return DateFormatter().monthSymbols[number-1]
}
func numberToMonth(number:Int)->String{
保护编号>0,编号<13否则{return'}
return DateFormatter().monthSymbols[number-1]
}
一个简单的解决方案是采用整数并返回月份字符串的方法
func numberToMonth(number: Int) -> String {
guard number > 0, number < 13 else { return "" }
return DateFormatter().monthSymbols[number-1]
}
func numberToMonth(number:Int)->String{
保护编号>0,编号<13否则{return'}
return DateFormatter().monthSymbols[number-1]
}
返回[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”][month-1]
@vacawama为什么不使用日期格式化程序monthSymbols
?@rmaddy,这确实是个好主意。了解我的评论如何工作对初学者也很有用。return[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”][month-1]
@vacawama为什么不使用DateFormatter-monthSymbols
?@rmaddy,这确实是个好主意。了解我的评论是如何工作的对初学者也很有用。不要这样做DateFormatter
已经提供了一个月名称的本地化数组。@rmaddy当然可以,但问题是他们不理解将输入值转换为其他值的概念DateFormatter
适用于特定的示例,但是如果他们遇到这样的情况,即这不是一个预制数组,他们就会知道可以做什么。顺便问一下,为什么要使用字典?为什么不是一个简单的数组?不要这样做DateFormatter
已经提供了一个月名称的本地化数组。@rmaddy当然可以,但问题是他们不理解将输入值转换为其他值的概念DateFormatter
适用于特定的示例,但是如果他们遇到这样的情况,即这不是一个预制数组,他们就会知道可以做什么。顺便问一下,为什么要使用字典?为什么不是一个简单的数组?不要这样做DateFormatter
已经提供了所有月份的本地化名称。嗯,由于@rmaddy的回答,这现在大部分是多余的。此外,如果索引超出范围,如何返回可选而不是崩溃?不要这样做DateFormatter
已经提供了所有月份的本地化名称。嗯,由于@rmaddy的回答,这现在大部分是多余的。此外,如果索引超出范围,这是如何返回可选的,而不是崩溃的?注意,<代码> DateFormatter < /C>是由基础框架提供的,因此,您将需要<代码>导入基础< /代码>如果您还没有一个<代码>导入UIKIT < /代码>或<代码>导入COCOA。请注意,<代码> DateFormatter < /代码>是由基础框架提供的,因此您需要“代码>导入基础< /COD>如果您还没有一个<代码>导入UIKIT < /代码>或<代码>导入COCOA。