Trabajar con fracciones en Javascript

publicado por: Anonymous

¡Buenas! Estoy creando una calculadora super sencilla a través de formularios, no está más que basada en este resolutor de sistemas de ecuaciones propuesto: http://platea.pntic.mec.es/jcarias/mat/algebra/sistemas/01gausshtml.htm

El problema que se me presenta es que al ingresar una fracción del tipo “x/y”,el parseFloat que se encuentra en la línea que contiene este ciclo for dentro de la función gauss() me lo reduce a sólo x, eliminando el denominador e invalidando la división:

     for(i=1;i<=3;i++){ 

          a[i]=[0,0,0,0],b[i]=[0,0,0,0],c[i]=[0,0,0,0]
      for(j=1;j<=4;j++){ 
          a[i][j]=parseFloat(document.forms[0][4*i+j-5].value) 
      }
    }

¿Alguna idea de cómo hacer que las fracciones del tipo “x/y” se resuelvan antes que el parseFloat las recorte, de tal forma que se guarde el decimal de una vez? Entiendo que no debería ser tan difícil, puesto que en la consola probé insertar una fracción tipo “1/2” dentro de un array, y ésta se guardó como decimal de una vez, pero apenas estoy aprendiendo lo muy básico y no me muevo seguro por la programación.

Atento a sus respuestas, y gracias de antemano!

solución

parseFloat solo acepta cadenas que representan un número en con decimales (ej. '3.14', '314e-2', '0.0314E+2'), no reconoce fracciones.

Lo que puedes hacer buscar el operador / en la cadena

var str = '3/4';
var operandos = str.split('/'); // esto te devuelve un array ['3', '4']
var resultado = parseInt(operandos[0]) / parseInt(operandos[1]);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *