From 7d165ae0e792555a4115d3ca10805bc837b5dc7a Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 7 Nov 2020 17:38:31 +0100 Subject: [PATCH] handle thousands delimiter at Clear too --- .../calculator/helpers/CalculatorImpl.kt | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt index c068fb6b..05e1bcce 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -28,19 +28,7 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) { } inputDisplayedFormula += number - - val valuesToCheck = numbersRegex.split(inputDisplayedFormula).filter { it.trim().isNotEmpty() } - valuesToCheck.forEach { - var newString = Formatter.addGroupingSeparators(it) - - // allow writing numbers like 0.003 - if (it.contains(".")) { - newString = newString.substringBefore(".") + ".${it.substringAfter(".")}" - } - - inputDisplayedFormula = inputDisplayedFormula.replace(it, newString) - } - + addThousandsDelimiter() showNewResult(inputDisplayedFormula) } @@ -67,6 +55,19 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) { showNewResult(inputDisplayedFormula) } + private fun addThousandsDelimiter() { + val valuesToCheck = numbersRegex.split(inputDisplayedFormula).filter { it.trim().isNotEmpty() } + valuesToCheck.forEach { + var newString = Formatter.addGroupingSeparators(it) + // allow writing numbers like 0.003 + if (it.contains(".")) { + newString = newString.substringBefore(".") + ".${it.substringAfter(".")}" + } + + inputDisplayedFormula = inputDisplayedFormula.replace(it, newString) + } + } + fun handleOperation(operation: String) { if (inputDisplayedFormula == "") { inputDisplayedFormula = "0" @@ -183,7 +184,8 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) { newValue = newValue.trimEnd(',') inputDisplayedFormula = newValue - showNewResult(newValue) + addThousandsDelimiter() + showNewResult(inputDisplayedFormula) } fun handleReset() {