在我的iOS项目中,我有一个函数将带有“秒”后缀的整数值转换为字符串:
func secondsToString(_ seconds: Int) -> String {
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full
formatter.allowedUnits = [.second]
return formatter.string(from: DateComponents(second: seconds)) ?? ""
}
这就是我所说的:
print(secondsToString(10)) // Output is "10 seconds"
print(secondsToString(1)) // Output is "1 second"
但是我需要将secondsToString
的结果的首字母大写,如下所示:
print(secondsToString(10)) // Output is "10 Seconds"
print(secondsToString(1)) // Output is "1 Second"
如何解决此问题?我应该更改DateComponentsFormatter
的某些属性吗?
答案 0 :(得分:1)
只需在格式化字符串的末尾添加update table_1 a
set expense_v1 = expense * 1.05
where exists (
select null
from table2 b
where
a.address_id = b.address_id and
b.description_state = 'lollyland'
)
。
.capitalized
注意::该解决方案将大写从该方法返回的所有单词。对于您的用例,这应该足够好,因为即使您添加更多的时间单位,如果我将一个大写,也希望将它们全部大写。
因此,如果要以某种方式更改结果,并且只希望将第一个单词大写,则可以尝试以下操作:(第一个单词表示包含字母的第一个单词)
func secondsToString(_ seconds: Int) -> String {
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full
formatter.allowedUnits = [.second]
return formatter.string(from: DateComponents(second: seconds))?.capitalized ?? ""
}