diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt index d5c4d3865..f5bec4d00 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt @@ -117,9 +117,19 @@ fun BigInteger.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, forma private val never = BooleanSupplier { false } private fun reformat(numbers: String): String { - if (numbers.length <= 4) + @Suppress("NAME_SHADOWING") + var numbers = numbers + + if (numbers.isEmpty() || numbers.length <= 4) return numbers + val negative = numbers[0] == '-' + + if (negative && numbers.length == 5) + return numbers + else if (negative) + numbers = numbers.substring(1) + val result = CharArrayList((numbers.length * 1.6).roundToInt()) var dot = numbers.lastIndexOf('.') @@ -145,6 +155,9 @@ private fun reformat(numbers: String): String { result.add(numbers[i]) } + if (negative) + result.add('-') + return String(CharArray(result.size) { result.getChar(result.size - it - 1) })