reactjs 为什么我不能在React.js中计算大的数字?

bejyjqdl  于 2022-12-22  发布在  React
关注(0)|答案(2)|浏览(138)

import { useState } from 'react';
import './App.css';
import Button from './components/Button';
import { Input } from './components/input';
import * as math from 'mathjs';
import Header from '../src/components/Header';

const App=()=> {
  const buttons= [
 {id:7,symbol:"7"},{id:8,symbol:"8"},{id:9,symbol:"9"}]

  const buttons2=[{id:4,symbol:"4"},{id:5,symbol:"5"},{id:6,symbol:"6"},{id:'+',symbol:"+"}]
  
  const buttons3=[{id:1,symbol:"1"},{id:2,symbol:"2"},{id:3,symbol:"3"},{id:'-',symbol:"-"}]

  const buttons4=[{id:'.',symbol:"."},{id:0,symbol:"0"},{id:'/',symbol:"/"},{id:'*',symbol:"x"}

]

  const[text,setText]=useState("");
  const[result,setResult]=useState("");

  const addToText=(val)=>{
    setText((text)=>[...text, val+" "]);
  }

  const resetInput=()=>{
    setText("");
    setResult("");
  }   

 

  const calculateResult=()=>{
    try{
  const input=text.join("");
  setResult(math.evaluate(input));

  
}catch(err){
setResult("Error")
}
  }

我已经尝试了不同的方法来解决这个问题,但仍然不知道为什么它不工作。请帮助。项目从前端导师。如果你需要更多的代码让我知道。谢谢你

px9o7tmv

px9o7tmv1#

import {evaluate} from 'mathjs';

然后尝试一些静态字符串。例如

//console.log(text.join(""));
evaluate('sin(45 deg) ^ 2')    // 0.5
evaluate('9 / 3 + 2i')         // 3 + 2i

如果这些示例工作正常,则问题出在“text”字符串中,但如果这些示例不工作,则问题出在导入和模块中

6yt4nkrj

6yt4nkrj2#

常量添加到文本=(瓦尔)=〉{设置文本((文本)=〉[...文本,值+”“]);}错误出在这段代码中。我写了瓦尔+”“代替val+""。因此它不能计算大的数字(例如:55+58)

相关问题