Tengo una página de productos que obtiene información de productos y muestra los productos en la página. La API devuelve tres puntos de precio. Tengo que sumarlos y mostrar el precio redondeado a un decimal. Ya tengo una solución funcionando, pero solo funciona si no es un número entero.
22.7312 devuelve 22.7 , pero 22.0 devuelve 22 . Me gustaría mostrar siempre un decimal, incluso si es un cero. Esta es mi solución actual. ¿Cómo puedo cambiarlo para que muestre un decimal, incluso si es un cero?
Math.floor( (parseFloat(product.price1['regionalPrice']) + parseFloat(product.price2['marketPrice']) + parseFloat(product.price3['localPrice']) ) * 10) / 10Debe formatear su resultado flotante con el método .toFixed(x).
Aquí hay un ejemplo de código completo para esto:
const p1 = parseFloat(product.price1['regionalPrice']); const p2 = parseFloat(product.price2['marketPrice']); const p3 = parseFloat(product.price3['localPrice']); const price = Math.floor((p1 + p2 + p3) * 10) / 10; const displayPrice = price.toFixed(1);Podría intentar redondear sus números con la función number.toFixed() donde pasa 1 como argumento de función. lo probé y
num = 22; num = nums.toFixed(1); console.log(num)
imprime 22.0. Espero que esto sea lo que estabas buscando ^^