0

tengo un código hecho a base de <select></select> en la que cada opción tiene un valor decimal, pero me lo envía como string, entonces yo lo paso a float con parseFloat(), pero da la casualidad de que en una combinación de <option> si tu haces la suma de los value="" da 423, pero Js me lo representa como 423.0000000001.

¿Cómo puedo omitir estos decimales?

RMGgames
  • 151
  • 1
  • 3
  • 13
  • 2
    Si solo querés formatear los números, podés usar [`toFixed`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed); de todas maneras, conviene que leas [¿Por qué mis programas no pueden hacer cálculos aritméticos correctamente?](https://es.stackoverflow.com/q/197/156327) – padaleiana Mar 26 '21 at 11:18

1 Answers1

1

Para limitar los decimales solo tenemos que usar la función toFixed() para que convertirlo a entero o redondear a los decimales que necesitemos.

var numero = 9.46789; 
var conDecimal = numero.toFixed(2); 
// Igual a 9.47 
var entero = numero.toFixed(); 
// Igual a 9 (como un entero)
var con3decimales = numero.toFixed(3);
// Igual a 9.468

la variable .toFixed() convierte un número a cadena conservando los N primeros decimales.

Daniel
  • 668
  • 2
  • 10