The JavaScript instructions are shown below in bold.

<HTML>
<HEAD>
<TITLE>JavaScript Demo Example 14</TITLE>
<script language="javascript" type="text/javascript">
<!--
// Hide script from older browsers

var accumulator = 0.0;
var lastentry = 0.0;
var decpos = 0;
var sign = 1;
var lastkey = "equals";
var whattodo = "equals";

function Adddigit(digit) {
var temp,digit;
if (lastkey != "digit") {
document.Calculator.entryresult.value = 0.0;
if (lastkey == "equals") {
accumulator = 0.0;
whattodo = "equals"; } }
temp = parseFloat(document.Calculator.entryresult.value);
if (decpos == 0)
document.Calculator.entryresult.value = temp*10 + parseInt(digit)*sign
else
{ document.Calculator.entryresult.value = temp + parseInt(digit)/decpos*sign;
decpos = decpos * 10;}
lastentry = parseFloat(document.Calculator.entryresult.value);
lastkey = "digit"; }

function DoSomething(TheCalculator) {
switch (whattodo) {
case "equals": {
accumulator = parseFloat(document.Calculator.entryresult.value);
break; }
case "add": {
accumulator = accumulator + lastentry;
document.Calculator.entryresult.value = accumulator;
break; }
case "subtract": {
accumulator = accumulator - lastentry;
document.Calculator.entryresult.value = accumulator;
break; }
case "multiply": {
accumulator = accumulator * lastentry;
document.Calculator.entryresult.value = accumulator;
break; }
case "divide": {
accumulator = accumulator / lastentry;
document.Calculator.entryresult.value = accumulator;
break; } }
if (lastkey != "equals") whattodo = lastkey; }

function Add(TheCalculator) {
decpos = 0;
sign = 1;
lastentry = parseFloat(document.Calculator.entryresult.value);
if (lastkey == "digit")
{ lastkey = "add";
DoSomething(TheCalculator); }
else
{ lastkey = "add"; whattodo = "add"; } }

function Subtract(TheCalculator) {
decpos = 0;
sign = 1;
lastentry = parseFloat(document.Calculator.entryresult.value);
if (lastkey == "digit")
{ lastkey = "subtract";
DoSomething(TheCalculator); }
else
{ lastkey = "subtract"; whattodo = "subtract"; } }

function Multiply(TheCalculator) {
decpos = 0;
sign = 1;
lastentry = parseFloat(document.Calculator.entryresult.value);
if (lastkey == "digit")
{ lastkey = "multiply";
DoSomething(TheCalculator); }
else
{ lastkey = "multiply"; whattodo = "multiply"; } }

function Divide(TheCalculator) {
decpos = 0;
sign = 1;
lastentry = parseFloat(document.Calculator.entryresult.value);
if (lastkey == "digit")
{ lastkey = "divide";
DoSomething(TheCalculator); }
else
{ lastkey = "divide"; whattodo = "divide"; } }

function Equals(TheCalculator) {
decpos = 0;
sign = 1;
if ((lastkey == "add") || (lastkey == "subtract") || (lastkey == "multiply") || (lastkey == "divide"))
whattodo = lastkey;
lastkey = "equals";
DoSomething(TheCalculator); }

function Setdecpos() {
decpos = 10; }

function Squareroot(TheCalculator) {
decpos = 0;
sign = 1;
lastkey = "equals";
temp = parseFloat(document.Calculator.entryresult.value);
document.Calculator.entryresult.value = Math.sqrt(temp);
lastentry = parseFloat(document.Calculator.entryresult.value); }

function Percent(TheCalculator) {
decpos = 0;
sign = 1;
lastkey = "equals";
document.Calculator.entryresult.value = (lastentry / 100) * accumulator;
lastentry = parseFloat(document.Calculator.entryresult.value); }

function ChngeSign(TheCalculator) {
sign = sign * -1;
temp = parseFloat(document.Calculator.entryresult.value);
document.Calculator.entryresult.value = temp * -1;
lastentry = parseFloat(document.Calculator.entryresult.value); }

function Invert(TheCalculator) {
decpos = 0;
sign = 1;
lastkey = "equals";
temp = parseFloat(document.Calculator.entryresult.value);
document.Calculator.entryresult.value = 1 / temp;
lastentry = parseFloat(document.Calculator.entryresult.value); }

function Initialize(TheCalculator) {
accumulator = 0.0;
lastentry = 0.0;
decpos = 0;
sign = 1;
lastkey = "equals";
whattodo = "equals";
document.Calculator.entryresult.value = 0.0;
document.Calculator.entryresult.focus(); }

function ClearEntry(TheCalculator) {
lastentry = 0.0;
decpos = 0;
sign = 1;
document.Calculator.entryresult.value = 0.0;
document.Calculator.entryresult.focus(); }

//-->
</script>

</HEAD>
<BODY BGCOLOR="WHITE">
<h3>Provide input, perform calculations, and display the output. <a href="example_14_html.htm">View
source.</a></h3>
<form name="Calculator">
<table width="50%" align="center">
<tr>
<td colspan="5" align="center">
<input type="text" name="entryresult" size=40 maxlength=40>
</td>
</tr>
<tr>
<td align="center">
<input type="button" value=" 7 " onClick="Adddigit(7)">
</td>
<td align="center">
<input type="button" value=" 8 " onClick="Adddigit(8)">
</td>
<td align="center">
<input type="button" value=" 9 " onClick="Adddigit(9)">
</td>
<td align="center">
<input type="button" value=" / " onClick="Divide(Calculator)">
</td>
<td align="center">
<input type="button" value="Sqrt" onClick="Squareroot(Calculator)">
</td>
</tr>
<tr>
<td align="center">
<input type="button" value=" 4 " onClick="Adddigit(4)">
</td>
<td align="center">
<input type="button" value=" 5 " onClick="Adddigit(5)">
</td>
<td align="center">
<input type="button" value=" 6 " onClick="Adddigit(6)">
</td>
<td align="center">
<input type="button" value=" * " onClick="Multiply(Calculator)">
</td>
<td align="center">
<input type="button" value=" % " onClick="Percent(Calculator)">
</td>
</tr>
<tr>
<td align="center">
<input type="button" value=" 1 " onClick="Adddigit(1)">
</td>
<td align="center">
<input type="button" value=" 2 " onClick="Adddigit(2)">
</td>
<td align="center">
<input type="button" value=" 3 " onClick="Adddigit(3)">
</td>
<td align="center">
<input type="button" value=" - " onClick="Subtract(Calculator)">
</td>
<td align="center">
<input type="button" value=" 1/x " onClick="Invert(Calculator)">
</td>
</tr>
<tr>
<td align="center">
<input type="button" value=" 0 " onClick="Adddigit(0)">
</td>
<td align="center">
<input type="button" value="+/-" onClick="ChngeSign(Calculator)">
</td>
<td align="center">
<input type="button" value=" . " onClick="Setdecpos()">
</td>
<td align="center">
<input type="button" value=" + " onClick="Add(Calculator)">
</td>
<td align="center">
<input type="button" value=" = " onClick="Equals(Calculator)">
</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" value="On / Clear" onClick="Initialize(Calculator)">
</td>
<td colspan="2" align="center">
<input type="button" value="CE" onClick="ClearEntry(Calculator)">
</td>
</tr>
</table>
</form>

<p>&nbsp;</p>
<p><a href="index.htm">Return to Having Fun with JavaScript</a>.</p>

</BODY>
</HTML>

 

Return to Example 14.