diff --git a/submodules/TelegramPresentationData/Sources/NumericFormat.swift b/submodules/TelegramPresentationData/Sources/NumericFormat.swift index cc556add44..368f464e75 100644 --- a/submodules/TelegramPresentationData/Sources/NumericFormat.swift +++ b/submodules/TelegramPresentationData/Sources/NumericFormat.swift @@ -27,15 +27,19 @@ public func presentationStringsFormattedNumber(_ count: Int32, _ groupingSeparat if groupingSeparator.isEmpty || abs(count) < 1000 { return string } else { - var groupedString: String = "" - for i in 0 ..< Int(ceil(Double(string.count) / 3.0)) { - let index = string.count - Int(i + 1) * 3 - if !groupedString.isEmpty { - groupedString = groupingSeparator + groupedString + if count < 0 { + return "-\(presentationStringsFormattedNumber(abs(count), groupingSeparator))" + } else { + var groupedString: String = "" + for i in 0 ..< Int(ceil(Double(string.count) / 3.0)) { + let index = string.count - Int(i + 1) * 3 + if !groupedString.isEmpty { + groupedString = groupingSeparator + groupedString + } + groupedString = String(string[string.index(string.startIndex, offsetBy: max(0, index)) ..< string.index(string.startIndex, offsetBy: index + 3)]) + groupedString } - groupedString = String(string[string.index(string.startIndex, offsetBy: max(0, index)) ..< string.index(string.startIndex, offsetBy: index + 3)]) + groupedString + return groupedString } - return groupedString } }