Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda