Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

150
Views
Solución alternativa de corrección de error NaN de cadena numérica

Tengo una variable miembro total explícitamente de number de tipo (en una aplicación Angular strict ) que se inicializa en el constructor pero luego se muestra como any tipo en el método drawSlices() , lo que da como resultado que mi etiqueta de información sobre herramientas muestre NaN .

 export class SomeComponent implements OnInit { total: number; dataSource: Item[]; constructor(private dataService: DataService) { this.dataSource = this.dataService.getData(); this.total = this.dataSource.reduce((sum, element) => sum += element.abs, 0); } drawSlices() { const mousemove = function (event, d) { const percent = (Math.abs(d.data.abs / this.total) * 100).toFixed(2) + "%"; tooltip .style("left", (event.pageX) + "px") .style("top", (event.pageY - 80) + "px") .style("display", "block") .style("opacity", 1) .style("height", "40px"); tooltip.html(`name: ${d.data.name}<br>value: ${d.data.value}<br>share: ${percent}`); } }

He intentado forzar el tipo y soluciones similares, sin éxito...

 let t: number = this.total; const percent = (Math.abs(d.data.abs / t) * 100).toFixed(2) + "%";

¿Cómo soluciono esto para obtener un número seguido de % ?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El problema se debe al alcance de 'esto' en la función mousemove. Convierta la función normal en una función ES6 (flecha) y debería estar listo para comenzar. Obtendrá el alcance del componente y devolverá la variable 'total' correcta.

 const mousemove = (event, d) => { const percent = (Math.abs(d.data.abs / this.total) * 100).toFixed(2) + "%"; ... }

Ponga un punto de depuración para la línea que está usando this.total y vea el valor que se le asignó.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!