• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
JavaScriptSource

JavaScriptSource

Search 5,000+ Free JavaScript Snippets

  • Home
  • Browse Snippets
    • Addon
    • Ajax
    • Buttons
    • Cookies
    • CSS
    • Featured
    • Forms
    • Games
    • Generators
    • Image Effects
    • Math Related
    • Miscellaneous
    • Multimedia
    • Navigation
    • Page Details
    • Passwords
    • Text Effects
    • Time & Date
    • User Details
Home / Math Related / Amazing Quadratic Equation Solver

Amazing Quadratic Equation Solver

This script will factor and solve for both values of X, any quadratic equation that has real number solutions.

<!– Paste this code into an external JavaScript file named: quadEquation.js  –>

/* This script and many more are available free online at
The JavaScript Source :: http://javascriptsource.com
Created by: Ben Kanaev :: http://www.webhostreview.biz */

var a,b,c,x1,x2;

function getValues() {
  signB = (document.form.firstSign.value == “+”) ? 1 : -1;
  signC = (document.form.secondSign.value == “+”) ? 1 : -1;
  a = document.form.x2Coef.value;
  b = document.form.xCoef.value * signB;
  c = document.form.endValue.value * signC;
}

function solveForX() {
  x1 = ((-1*b) + Math.sqrt((b*b) – 4*a*c))/ (2*a);
  x2 = ((-1*b) – Math.sqrt((b*b) – 4*a*c))/ (2*a);
  
  if(document.form.round.checked){
  x1 = Math.round(x1*1000)/1000;
  x2 = Math.round(x2*1000)/1000;
  }
}

function factorEq() {
  if( (Boolean(x1) != false) && (Boolean(x2) != false)) {
    x1Print = ((x1 * -1) > 0) ? “+” + (x1*-1) : x1 * -1;
    x2Print = ((x2 * -1) > 0) ? “+” + (x2*-1) : x2 * -1;
    aPrint = (a > 1 || a < 0) ? a : “”;
    document.getElementById(‘testing’).innerHTML = “<font color=”red”>The Solutions Are:</font><br>x1 = ” + x1 + “; x2 = ” + x2 + “<br><font color=”red”> The Equation Is:</font><br> ” +  aPrint + “(x ” + x1Print + “) (x ” + x2Print  + “)”;
  } else {
    document.getElementById(‘testing’).innerHTML = “<font color=”red”><b>YOUR INPUT PRODUCED AN ERROR:</b></font><br> You have entered a non-integer into one of the fields above, or the solution(s) for your equation is(are) an imaginary(s) number!”;
  }
}

function SolveEq() {
  getValues();
  solveForX();
  factorEq();
}
<!– Paste this code into the HEAD section of your HTML document.
     You may need to change the path of the file.  –>

<script type=”text/javascript” src=”quadEquation.js”></script>
<!– Paste this code into the BODY section of your HTML document  –>

<div align=”center”>
<form name=”form”>
  <input type=”text” name=”x2Coef” size=”2″ value=”1″><b> X<sup>2</sup> </b>
    <select name=”firstSign”>
      <option value=”+”>+</option>
      <option value=”-“>-</option>
    </select>
  <input typle=”text” name=”xCoef” size=”2″ value=”1″><b> X</b>
    <select name=”secondSign”>
      <option value=”+”>+</option>
      <option value=”-“>-</option>
    </select> 
  <input type=”text” name=”endValue” size=”2″><br>
  Round to the nearest thousandths?<input type=”checkbox” name=”round”>Yes<br><br>
  <input type=”button” value=”Solve!” onClick=”SolveEq()”>
</form>
<p id=”testing” style=”width: 400px; height: 100px; border-width: 2px; border-style: groove; border-color: orange; font-size: 16px; color: blue; vertical-align: center”>The Solution Will Appear Here!</p>
</div>
<p><div align=”center”>
<font face=”arial, helvetica” size”-2″>Free JavaScripts provided<br>
by <a href=”https://javascriptsource.com”>The JavaScript Source</a></font>
</div><p>

Math Related

Related Snippets:

  • The JavaScript function Math.floor()
  • Distance Speed Time
  • The JavaScript function Math.pow()
  • Check if the given value is a number

Primary Sidebar

Popular Posts

Story Generator

IP Grabber – get a users IP address with JavaScript

Simple Calendar

Remove Ads

Astrological Calculator

Copyright © 2025 JavaScriptSource.com

  • About
  • Privacy Policy
  • FAQ
  • Jobs For Developers