|
@@ -1,7 +1,7 @@
|
|
import React, { useState, useEffect, useRef } from "react";
|
|
import React, { useState, useEffect, useRef } from "react";
|
|
import DataGrid, {Column} from "devextreme-react/data-grid";
|
|
import DataGrid, {Column} from "devextreme-react/data-grid";
|
|
import {Alert} from "./AlertDialog.js";
|
|
import {Alert} from "./AlertDialog.js";
|
|
-import {addNumbersToGrid, numbersToArrOfArr} from "./helpers.js";
|
|
|
|
|
|
+import {addNumbersToGrid, numbersToArrOfArr, afterCommaLen} from "./helpers.js";
|
|
import "./App.css";
|
|
import "./App.css";
|
|
|
|
|
|
let imdtRes;
|
|
let imdtRes;
|
|
@@ -49,7 +49,7 @@ function Addition() {
|
|
}
|
|
}
|
|
|
|
|
|
const handleCarryChange = (e, noOfDigits, nosLeft) => {
|
|
const handleCarryChange = (e, noOfDigits, nosLeft) => {
|
|
- let carryArrCopy = [...carryArr]
|
|
|
|
|
|
+ let carryArrCopy = [...carryArr];
|
|
carryArrCopy.unshift(e.target.value);
|
|
carryArrCopy.unshift(e.target.value);
|
|
setCarryArr(carryArrCopy);
|
|
setCarryArr(carryArrCopy);
|
|
let noCarry = carryArrCopy[0] === "0" || carryArrCopy[0] === undefined
|
|
let noCarry = carryArrCopy[0] === "0" || carryArrCopy[0] === undefined
|
|
@@ -68,7 +68,11 @@ function Addition() {
|
|
const startCalculation = () => {
|
|
const startCalculation = () => {
|
|
if (input.includes("+")){
|
|
if (input.includes("+")){
|
|
let numbers = input.split("+").map(x => parseFloat(x.replace(",",".")));
|
|
let numbers = input.split("+").map(x => parseFloat(x.replace(",",".")));
|
|
- setRealResult(numbers.reduce((x,y) => x+y, 0));
|
|
|
|
|
|
+ let realRes = numbers.reduce((x,y) => x+y, 0);
|
|
|
|
+ let afterComma = Math.max(...numbers.map(x => afterCommaLen(x)));
|
|
|
|
+ realRes = parseFloat(realRes.toFixed(afterComma));
|
|
|
|
+ setRealResult(realRes);
|
|
|
|
+ console.log("real result: ", realRes);
|
|
|
|
|
|
let [numbersArr, commaIdx] = numbersToArrOfArr(numbers);
|
|
let [numbersArr, commaIdx] = numbersToArrOfArr(numbers);
|
|
setNumbers(numbersArr);
|
|
setNumbers(numbersArr);
|
|
@@ -111,7 +115,7 @@ function Addition() {
|
|
labelText += digit;
|
|
labelText += digit;
|
|
|
|
|
|
if (parseInt(n) === numbers.length - 1){
|
|
if (parseInt(n) === numbers.length - 1){
|
|
- if(carryArr[0]!=="undefind" && carryArr[0] > 0){
|
|
|
|
|
|
+ if(carryArr[0] !== undefined && carryArr[0] > 0){
|
|
labelText += " + " + carryArr[0].toString();
|
|
labelText += " + " + carryArr[0].toString();
|
|
}
|
|
}
|
|
labelText += " = ";
|
|
labelText += " = ";
|