Skip to content

Instantly share code, notes, and snippets.

@brownsoo
Created September 30, 2023 05:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brownsoo/3b69afdef78911bb92da04760420caad to your computer and use it in GitHub Desktop.
Save brownsoo/3b69afdef78911bb92da04760420caad to your computer and use it in GitHub Desktop.
swift - switch range case
extension Int {
/// 숫자 범위에 따라 텍스트 표시
func readableCount() -> String {
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.groupingSeparator = ""
formatter.maximumFractionDigits = 1
switch self {
case _ where self < 1000:
return "\(self)"
case 1000..<1_0000:
let value = (Double(self) / 1000.0)
if let formed = formatter.string(from: NSNumber(value: value)) {
return "\(formed)천"
}
return "\(self)"
case 1_0001..<1_0000_0000:
let value = (Double(self) / 10_000.0)
if let formed = formatter.string(from: NSNumber(value: value)) {
return "\(formed)만"
}
return "\(self)"
default:
return "1억+"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment