Again like I said, don't convert the number string to a number you are typing in until you are ready to do the math.
Say the number is "12", you click decimal, then number$ = number$ + "." , you click the 9 then number$ = number$ + "9" keep it as a string!
BTW when you click the decimal you should check if the number has a decimal in it already and not add it into the number$ string if it does have one.
Then when you do the math say add, then num = val(number$) + val(lastNumber$)
Then when you display that number (the sum) use _printstring(x, y), xDP$(num, howManyPlaces)
You can also keep everything right justified using a set width in number display panel. Say 10 places maximum display width use:
_printstring (x, y), right$(space$(10) + number$, 10) ' <<< for displaying a number build
or _printstring(x, y), right$(space$(10) + xDP$(x, decimals), 10) ' <<< for displaying result of math operation
Remember use these buttons only to build the number string 1,2,3,4,5,6,7,8,9,0, . and neg button to maybe toggle a - sign in front of the number string.