Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
no se puede usar la función de js en mecanografiado

tengo una función para calcular el área del polígono, y aquí está mi función

 import {distance} from "mathjs" function getArea(arrayCord) { let triangle =[] let area = 0.0 let a =0.0 let b =0.0 let c =0.0 let s =0.0 for (let i = 0; i < arrayCord.length-2; i++) { a = distance(arrayCord[i],arrayCord[i+1])// p1-p2 b = distance(arrayCord[i+1],arrayCord[i+2]) //p2 - p3 c = distance(arrayCord[i],arrayCord[i+2]) //p3-p1 s = (a+b+c)/2; triangle[i] = Math.sqrt(s*(sa)*(sb)*(sc)) area+= triangle[i] } return area; }

cuando copio la función en una clase de mecanografiado y la uso, aparece este error que dice

El operador '+' no se puede aplicar a los tipos 'número | matemáticas.BigNumber' y 'número | matemáticas.BigNumber'

ingrese la descripción de la imagen aquí

la función en mi texto mecanografiado era

 const getArea = (arryy:(number|undefined)[][]) =>{ let triangle =[] let area = 0.0 let a:(number|BigNumber) =0.0 let b:(number|BigNumber) =0.0 let c:(number|BigNumber) =0.0 let s:(number|BigNumber) =0.0 for (let i = 0; i < arryy.length-2; i++) { a = distance(arryy[i],arryy[i+1])// p1-p2 b = distance(arryy[i+1],arryy[i+2]) //p2 - p3 c = distance(arryy[i],arryy[i+2]) //p3-p1 s = (a+b+c)/2; triangle[i] = Math.sqrt(s*(sa)*(sb)*(sc)) area+= triangle[i] } return area; }

¿Cómo resolver este problema para poder usar mi función en mi clase de mecanografiado?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

No puede usar aritmética regular en BigNumber s.

Reemplazar

 s = (a+b+c)/2

con

 s = math.divide(math.add(a, b, c), 2)

Pero debe tener en cuenta que math.divide devuelve number | BigNumber | Fraction | Complex | Unit | Array | Matrix , por lo que s posible que sea necesario ajustar el tipo de correo electrónico.

Ver:

  • https://mathjs.org/docs/reference/functions/divide.html
  • https://mathjs.org/docs/reference/functions/add.html
about 4 years ago · Santiago Trujillo Relatório

0

number y BigNumber se ven como dos tipos de datos, y Typescript no sabe que esta operación de adición está permitida. Entonces, en su caso, a podría ser un number y b podría ser un BigNumber .

Si está seguro de que se pueden agregar juntos, puede usar // @ts-ignore I'm sure this adds en la línea arriba del comentario donde se muestra el error.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda