Created
September 30, 2023 05:17
-
-
Save brownsoo/3b69afdef78911bb92da04760420caad to your computer and use it in GitHub Desktop.
swift - switch range case
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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