Búsqueda de sitios web

angular - ParseFloat devuelve una cadena en lugar de un número en Javascript


tengo un arreglo que viene de la API así

x = [0, 12.1, 23.45, 100.23, 13.99, 90, 0, 16.1]

quiero que cada número tenga punto decimal hasta 2, como 0.00 o 12.10

lo que hice es

x = x.toFixed(x);

pero esto devuelve valores de cadena, no números, necesito que todos los valores sean números. No estoy seguro de cómo puedo obtener números después de convertirlos a decimales.

alguien sugirió este código que probé pero sin éxito

x = +x.toFixed(2);

También intenté parseFloat después de toFixed, pero muestra en la consola que es un número, pero no lo es, en realidad es una cadena.

Estoy intentando esto en una aplicación Angular2+ en una tabla de PrimeNG

Respuesta #1

puedes usar pipe en el lado de HTML

{{x | number:'1.1-3'}}

Referencia: https://angular.io/api/common/DecimalPipe#example

PD: no olvides agregar DecimalPipe dentro de tus declaraciones

Si tu necesidad es usar esto del lado de TS, entonces tu solución funcionaría

(15).toFixed(2) //15.00