From 49712ff64c115df126ef88fe73e2e532120988f4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 7 Nov 2020 16:43:05 +0100 Subject: [PATCH] fixing some decimal related glitches --- .../calculator/helpers/CalculatorImpl.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 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 8bed6fe4..b8f535e9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -70,14 +70,16 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) { } val lastChar = inputDisplayedFormula.last().toString() - if (operations.contains(lastChar) || lastChar == ".") { + if (lastChar == ".") { + inputDisplayedFormula = inputDisplayedFormula.dropLast(1) + } else if (operations.contains(lastChar)/* || lastChar == "."*/) { inputDisplayedFormula = inputDisplayedFormula.dropLast(1) inputDisplayedFormula += getSign(operation) } else if (!inputDisplayedFormula.trimStart('-').contains(operationsRegex.toRegex())) { inputDisplayedFormula += getSign(operation) } - if (lastKey == DIGIT) { + if (lastKey == DIGIT || lastKey == DECIMAL) { if (lastOperation != "" && operation == PERCENT) { handlePercent() } else { @@ -109,7 +111,7 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) { calculateResult() } - if (lastKey != DIGIT) { + if (lastKey != DIGIT && lastKey != DECIMAL) { return }