Fix negative numbers being displayed wrong
This commit is contained in:
parent
41431a13bd
commit
a43521c579
@ -117,9 +117,19 @@ fun BigInteger.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, forma
|
|||||||
private val never = BooleanSupplier { false }
|
private val never = BooleanSupplier { false }
|
||||||
|
|
||||||
private fun reformat(numbers: String): String {
|
private fun reformat(numbers: String): String {
|
||||||
if (numbers.length <= 4)
|
@Suppress("NAME_SHADOWING")
|
||||||
|
var numbers = numbers
|
||||||
|
|
||||||
|
if (numbers.isEmpty() || numbers.length <= 4)
|
||||||
return numbers
|
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())
|
val result = CharArrayList((numbers.length * 1.6).roundToInt())
|
||||||
|
|
||||||
var dot = numbers.lastIndexOf('.')
|
var dot = numbers.lastIndexOf('.')
|
||||||
@ -145,6 +155,9 @@ private fun reformat(numbers: String): String {
|
|||||||
result.add(numbers[i])
|
result.add(numbers[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (negative)
|
||||||
|
result.add('-')
|
||||||
|
|
||||||
return String(CharArray(result.size) {
|
return String(CharArray(result.size) {
|
||||||
result.getChar(result.size - it - 1)
|
result.getChar(result.size - it - 1)
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user