Bläddra i källkod

addition: round and log real result

Bernadette Elena Hammerle 3 år sedan
förälder
incheckning
90bc124645
1 ändrade filer med 8 tillägg och 4 borttagningar
  1. 8 4
      src/Addition.js

+ 8 - 4
src/Addition.js

@@ -1,7 +1,7 @@
 import React, { useState, useEffect, useRef } from "react";
 import DataGrid, {Column} from "devextreme-react/data-grid";
 import {Alert} from "./AlertDialog.js";
-import {addNumbersToGrid, numbersToArrOfArr} from "./helpers.js";
+import {addNumbersToGrid, numbersToArrOfArr, afterCommaLen} from "./helpers.js";
 import "./App.css";
 
 let imdtRes;
@@ -49,7 +49,7 @@ function Addition() {
   }
 
   const handleCarryChange = (e, noOfDigits, nosLeft) => {
-    let carryArrCopy = [...carryArr]
+    let carryArrCopy = [...carryArr];
     carryArrCopy.unshift(e.target.value);
     setCarryArr(carryArrCopy);
     let noCarry = carryArrCopy[0] === "0" || carryArrCopy[0] === undefined
@@ -68,7 +68,11 @@ function Addition() {
   const startCalculation = () => {
     if (input.includes("+")){
       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);
       setNumbers(numbersArr);
@@ -111,7 +115,7 @@ function Addition() {
         labelText += digit;
 
         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 += " = ";