diff --git a/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate b/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate index 6572516..3145536 100644 Binary files a/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate and b/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/TournamentStats/core/Formatters.swift b/TournamentStats/core/Formatters.swift index 750df1e..6837626 100644 --- a/TournamentStats/core/Formatters.swift +++ b/TournamentStats/core/Formatters.swift @@ -50,8 +50,35 @@ extension Int { var currencyFormatted: String { return Formatter.currency.string(from: NSNumber(value: self)) ?? "" } + + var rankFormatted: String { + + switch self { + case 11: + return "11th" + case 12: + return "12th" + case 13: + return "13th" + default: + var unit = self + while unit > 10 { + unit /= 10 + } + switch unit { + case 1: + return "\(self)st" + case 2: + return "\(self)nd" + case 3: + return "\(self)rd" + default: + return "\(self)th" + } + } + } } - + extension Double { var currencyFormatted: String { diff --git a/TournamentStats/report/structures/PlayerResult.swift b/TournamentStats/report/structures/PlayerResult.swift index 37a8ce9..f174d3f 100644 --- a/TournamentStats/report/structures/PlayerResult.swift +++ b/TournamentStats/report/structures/PlayerResult.swift @@ -27,7 +27,7 @@ struct PlayerResult : HTMLRepresentable { func html() -> String { var strings: [String] = [] strings.append(self.result.player?.name ?? "") - strings.append("\(self.result.rank)") + strings.append(self.result.rank.rankFormatted) strings.append(result.earnings.currencyFormatted) strings.append("\(tournament.number)") strings.append("\(tournament.buyin.currencyFormatted) \(tournament.name)")