|
@@ -132,19 +132,20 @@ function Subtraction() {
|
|
|
let numbersCopy = [...numbers];
|
|
|
|
|
|
if(pressedKey === 37){
|
|
|
- if(numbersCopy[noId].includes(".")){
|
|
|
- numbersCopy[noId].push("0");
|
|
|
- }else{
|
|
|
- numbersCopy[noId].push(".");
|
|
|
+
|
|
|
+ if(numbersCopy[noId][0] !== " "){
|
|
|
+ for(let idx in numbersCopy){
|
|
|
+ numbersCopy[idx].unshift(" ")
|
|
|
+ }
|
|
|
}
|
|
|
+ numbersCopy[noId].shift();
|
|
|
setNumbers(numbersCopy);
|
|
|
setTimeout(() => {
|
|
|
document.getElementById(tdId).focus();
|
|
|
}, 100);
|
|
|
|
|
|
- }else if(pressedKey === 39 &&
|
|
|
- [".", "0"].includes(numbersCopy[noId][numbersCopy[noId].length-1])){
|
|
|
- numbersCopy[noId].pop();
|
|
|
+ }else if(pressedKey === 39){
|
|
|
+ numbersCopy[noId].unshift(" ");
|
|
|
setNumbers(numbersCopy);
|
|
|
setTimeout(() => {
|
|
|
document.getElementById(tdId).focus();
|
|
@@ -483,20 +484,23 @@ function Subtraction() {
|
|
|
let numbersCopy = [...numbers];
|
|
|
let commaPositions = [];
|
|
|
|
|
|
-
|
|
|
- for(let noIdx in numbersCopy){
|
|
|
- while(numbersCopy[noIdx][0] === " "){
|
|
|
- numbersCopy[noIdx].shift();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
let numbersLen = Math.max(...numbers.map(n => n.length));
|
|
|
for(let noIdx in numbersCopy){
|
|
|
- while(numbersCopy[noIdx].length <= numbersLen){
|
|
|
- numbersCopy[noIdx].unshift(" ");
|
|
|
+ while(numbersCopy[noIdx].length < numbersLen){
|
|
|
+ numbersCopy[noIdx].push(" ");
|
|
|
}
|
|
|
- commaPositions.push(numbersCopy[noIdx].indexOf("."));
|
|
|
+ let commaPos = numbersCopy[noIdx].indexOf(".");
|
|
|
+ if(commaPos < 0){
|
|
|
+ for(let idx=numbersCopy[noIdx].length-1; idx>0; idx--){
|
|
|
+ if(numbersCopy[noIdx][idx-1] !== " " &&
|
|
|
+ numbersCopy[noIdx][idx] === " "){
|
|
|
+ commaPos = idx;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ commaPositions.push(commaPos);
|
|
|
}
|
|
|
setNumbers(numbersCopy);
|
|
|
|
|
@@ -505,11 +509,22 @@ function Subtraction() {
|
|
|
|
|
|
|
|
|
if(commaPositions.length === 1 && commaPositions[0] !== numbersLen){
|
|
|
- setCommaIdx(commaPositions[0]);
|
|
|
+ setCommaIdx(commaPositions[0] + 1);
|
|
|
commaCorrect = true;
|
|
|
}
|
|
|
|
|
|
if(commaCorrect){
|
|
|
+ for(let idx=numbersLen-1; idx>=0; idx--){
|
|
|
+ let nos = numbersCopy.map(n => n[idx])
|
|
|
+ if(nos.every(n => n === " ")){
|
|
|
+ for(let noIdx in numbersCopy){
|
|
|
+ numbersCopy[noIdx].splice(idx, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let noIdx in numbersCopy){
|
|
|
+ numbersCopy[noIdx].unshift(" ");
|
|
|
+ }
|
|
|
document.getElementById("commaSubmit").style.display = "none";
|
|
|
commaIsSet = true;
|
|
|
}else{
|