fixing a decimal glitch

This commit is contained in:
tibbi 2020-11-05 22:51:08 +01:00
parent 998766e2e1
commit b775a98247

View File

@ -249,13 +249,13 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
return return
} }
val numberToCheck = if (inputDisplayedFormula.startsWith("-")) { val valueToCheck = if (inputDisplayedFormula.startsWith("-")) {
inputDisplayedFormula.substring(1) inputDisplayedFormula.substring(1)
} else { } else {
inputDisplayedFormula inputDisplayedFormula
} }
displayedNumber = numberToCheck.substring(numberToCheck.indexOfAny(operations, 0, false) + 1) displayedNumber = valueToCheck.substring(valueToCheck.indexOfAny(operations, 0, false) + 1)
secondValue = getDisplayedNumberAsDouble() secondValue = getDisplayedNumberAsDouble()
calculateResult() calculateResult()
lastKey = EQUALS lastKey = EQUALS
@ -264,15 +264,21 @@ class CalculatorImpl(calculator: Calculator, val context: Context) {
} }
private fun decimalClicked() { private fun decimalClicked() {
var value = displayedNumber val valueToCheck = if (inputDisplayedFormula.startsWith("-")) {
if (!value!!.contains(".")) { inputDisplayedFormula.substring(1)
if (value.toString() == "0") {
inputDisplayedFormula = "0."
} else { } else {
inputDisplayedFormula += "." inputDisplayedFormula
}
var value = valueToCheck.substring(valueToCheck.indexOfAny(operations, 0, false) + 1)
if (!value.contains(".")) {
when (value) {
"0" -> inputDisplayedFormula = "0."
"" -> inputDisplayedFormula += "0."
else -> inputDisplayedFormula += "."
} }
} else { } else {
value = displayedNumber!!.substring(displayedNumber!!.indexOfAny(operations, 0, false) + 1) value = valueToCheck.substring(valueToCheck.indexOfAny(operations, 0, false) + 1)
if (!value.contains(".")) { if (!value.contains(".")) {
inputDisplayedFormula += "." inputDisplayedFormula += "."
} }