Hola,
Estoy realizando una función sencilla en la que simplemente recibo un campo con decimales y escribo en otro el resultado de restarle a 1 ese campo. Para ello hago la siguiente operación:
Código:
//Al principio no tenía el parseFloat y pasaba lo mismo
pNegada = 1-parseFloat(campoOrigen.value);
campoDestino.value=pNegada;
Esto funciona correctamente si en el campo origen pongo valores entre 0 y 0.65, sin embargo, si pongo valores entre 0.66 y 0.99 la resta da un resultado erróneo. Por ej, si pongo 0.71 me da que el resultado es 0.29000000000000004 . Es decir, me mete un pequeño decimal al final.
¿Sabéis a que puede ser debido? ¿Alguna idea con la que seguir buscando una solución? (no me vale redondear cortar en X dígitos, ya que necesito siempre toda la precisión posible)
Gracias y un saludo