用js代码做一个简易计算器

JavaScript050

用js代码做一个简易计算器,第1张

function test(){

     var txt1 = document.getElementById("txt1"),

         txt2 = document.getElementById("txt2"),

         txt3 = document.getElementById("txt3"),

         opt  = document.getElementById("sel")

     txt3.value =  eval(txt1.value + opt.value + txt2.value)//eval函数可计算某个字符串,并执行其中的的js代码

} <input type="text" id="txt1" />

<select id="sel">

     <option value="+">+</option>

     <option value="-">-</option>

     <option value="*">*</option>

     <option value="/">/</option>

</select>

<input type="text" id="txt2" />

=

<input type="text" id="txt3" />

<input type="button" id="btn" value="计算" onclick="test()"/>

<HTML>

<HEAD>

<TITLE></TITLE>

<style type="text/css">

p {font-size: 12pt}

.red {color: redwidth:34}

.redl{color:redwidth:51}

.blue {color: bluewidth:34}

</style>

<SCRIPT LANGUAGE="JavaScript">

var Memory = 0

var Number1 = ""

var Number2 = ""

var NewNumber = "blank"

var opvalue = ""

function Display(displaynumber) {

document.calculator.answer.value = displaynumber

}

function MemoryClear() {

Memory = 0

document.calculator.mem.value = ""

}

function MemoryRecall(answer) {

if(NewNumber != "blank") {

Number2 += answer

} else {

Number1 = answer

}

NewNumber = "blank"

Display(answer)

}

function MemorySubtract(answer) {

Memory = Memory - eval(answer)

}

function MemoryAdd(answer) {

Memory = Memory + eval(answer)

document.calculator.mem.value = " M "

NewNumber = "blank"

}

function ClearCalc() {

Number1 = ""

Number2 = ""

NewNumber = "blank"

Display("")

}

function Backspace(answer) {

answerlength = answer.length

answer = answer.substring(0, answerlength - 1)

if (Number2 != "") {

Number2 = answer.toString()

Display(Number2)

} else {

Number1 = answer.toString()

Display(Number1)

}

}

function CECalc() {

Number2 = ""

NewNumber = "yes"

Display("")

}

function CheckNumber(answer) {

if(answer == ".") {

Number = document.calculator.answer.value

if(Number.indexOf(".") != -1) {

answer = ""

}

}

if(NewNumber == "yes") {

Number2 += answer

Display(Number2)

}

else {

if(NewNumber == "blank") {

Number1 = answer

Number2 = ""

NewNumber = "no"

}

else {

Number1 += answer

}

Display(Number1)

}

}

function AddButton(x) {

if(x == 1) EqualButton()

if(Number2 != "") {

Number1 = parseFloat(Number1) + parseFloat(Number2)

}

NewNumber = "yes"

opvalue = '+'

Display(Number1)

}

function SubButton(x) {

if(x == 1) EqualButton()

if(Number2 != "") {

Number1 = parseFloat(Number1) - parseFloat(Number2)

}

NewNumber = "yes"

opvalue = '-'

Display(Number1)

}

function MultButton(x) {

if(x == 1) EqualButton()

if(Number2 != "") {

Number1 = parseFloat(Number1) * parseFloat(Number2)

}

NewNumber = "yes"

opvalue = '*'

Display(Number1)

}

function DivButton(x) {

if(x == 1) EqualButton()

if(Number2 != "") {

Number1 = parseFloat(Number1) / parseFloat(Number2)

}

NewNumber = "yes"

opvalue = '/'

Display(Number1)

}

function SqrtButton() {

Number1 = Math.sqrt(Number1)

NewNumber = "blank"

Display(Number1)

}

function PercentButton() {

if(NewNumber != "blank") {

Number2 *= .01

NewNumber = "blank"

Display(Number2)

}

}

function RecipButton() {

Number1 = 1/Number1

NewNumber = "blank"

Display(Number1)

}

function NegateButton() {

Number1 = parseFloat(-Number1)

NewNumber = "no"

Display(Number1)

}

function EqualButton() {

if(opvalue == '+') AddButton(0)

if(opvalue == '-') SubButton(0)

if(opvalue == '*') MultButton(0)

if(opvalue == '/') DivButton(0)

Number2 = ""

opvalue = ""

}

</script>

</HEAD>

<BODY>

<center>

<form name="calculator">

<table bgcolor="#aaaaaa" width=230>

<tr><td>

<table bgcolor="#cccccc" border=1>

<tr><td>

<table border=0 cellpadding=0>

<tr><td bgcolor="#000080"></td></tr>

<tr><td>

<table width="100%" border=0>

<tr><td colspan=6><input type="text" readOnly name="answer" size=30 maxlength=30 onChange="CheckNumber(this.value)"></td></tr>

<tr><td colspan=6>

<table border=0 cellpadding=0>

<tr><td>

<input type="text" name="mem" size=3 maxlength=3 readOnly style="background:menu"><input type="button" name="backspace" class="redl" value="退格" onClick="Backspace(document.calculator.answer.value)return false"><input type="button" name="CE" class="redl" value="CE" onClick="CECalc()return false"><input type="reset" name="C" class="redl" value="C" onClick="ClearCalc()return false">

</td></tr>

</table>

</td></tr>

<tr><td><input type="button" name="MC" class="red" value=" MC " onClick="MemoryClear()return false"></td>

<td><input type="button" name="calc7" class="blue" value=" 7 " onClick="CheckNumber('7')return false"></td>

<td><input type="button" name="calc8" class="blue" value=" 8 " onClick="CheckNumber('8')return false"></td>

<td><input type="button" name="calc9" class="blue" value=" 9 " onClick="CheckNumber('9')return false"></td>

<td><input type="button" name="divide" class="red" value=" / " onClick="DivButton(1)return false"></td>

<td><input type="button" name="sqrt" class="blue" value="sqrt" onClick="SqrtButton()return false"></td></tr>

<tr><td><input type="button" name="MR" class="red" value=" MR " onClick="MemoryRecall(Memory)return false"></td>

<td><input type="button" name="calc4" class="blue" value=" 4 " onClick="CheckNumber('4')return false"></td>

<td><input type="button" name="calc5" class="blue" value=" 5 " onClick="CheckNumber('5')return false"></td>

<td><input type="button" name="calc6" class="blue" value=" 6 " onClick="CheckNumber('6')return false"></td>

<td><input type="button" name="multiply" class="red" value=" * " onClick="MultButton(1)return false"></td>

<td><input type="button" name="percent" class="blue" value=" % " onClick="PercentButton()return false"></td></tr>

<tr><td><input type="button" name="MS" class="red" value=" MS " onClick="MemorySubtract(document.calculator.answer.value)return false"></td>

<td><input type="button" name="calc1" class="blue" value=" 1 " onClick="CheckNumber('1')return false"></td>

<td><input type="button" name="calc2" class="blue" value=" 2 " onClick="CheckNumber('2')return false"></td>

<td><input type="button" name="calc3" class="blue" value=" 3 " onClick="CheckNumber('3')return false"></td>

<td><input type="button" name="minus" class="red" value=" - " onClick="SubButton(1)return false"></td>

<td><input type="button" name="recip" class="blue" value="1/x " onClick="RecipButton()return false"></td></tr>

<tr><td><input type="button" name="Mplus" class="red" value=" M+ " onClick="MemoryAdd(document.calculator.answer.value)return false"></td>

<td><input type="button" name="calc0" class="blue" value=" 0 " onClick="CheckNumber('0')return false"></td>

<td><input type="button" name="negate" class="blue" value="+/- " onClick="NegateButton()return false"></td>

<td><input type="button" name="dot" class="blue" value=" . " onClick="CheckNumber('.')return false"></td>

<td><input type="button" name="plus" class="red" value=" + " onClick="AddButton(1)return false"></td>

<td><input type="button" name="equal" class="red" value=" = " onClick="EqualButton()return false"></td>

</tr>

</table>

</td></tr>

</table>

</td></tr>

</table>

</td></tr>

</table>

</form>

</center>

<script language=javascript>

function keyDown()

{

var iCode=window.event.keyCode

//alert(iCode)

if(event.shiftKey)

{

switch(iCode)

{

case 56:document.all.multiply.click()break

case 59:document.all.minus.click()break

case 60:document.all.plus.click()break

}

}

if(!event.shiftKey&&!event.ctrlKey&&!event.altKey)

{

switch (iCode)

{

case 8:document.all.backspace.click()break

case 187:document.all.equal.click()break

case 96:document.all.calc0.click()break

case 97:document.all.calc1.click()break

case 98:document.all.calc2.click()break

case 99:document.all.calc3.click()break

case 100:document.all.calc4.click()break

case 101:document.all.calc5.click()break

case 102:document.all.calc6.click()break

case 103:document.all.calc7.click()break

case 104:document.all.calc8.click()break

case 105:document.all.calc9.click()break

case 110:document.all.dot.click()break

case 13:document.all.equal.click()break

case 107:document.all.plus.click()break

case 109:document.all.minus.click()break

case 106:document.all.multiply.click()break

case 111:document.all.divide.click()break

case 48:document.all.calc0.click()break

case 49:document.all.calc1.click()break

case 50:document.all.calc2.click()break

case 51:document.all.calc3.click()break

case 52:document.all.calc4.click()break

case 53:document.all.calc5.click()break

case 54:document.all.calc6.click()break

case 55:document.all.calc7.click()break

case 56:document.all.calc8.click()break

case 57:document.all.calc9.click()break

case 190:document.all.dot.click()break

case 13:document.all.equal.click()break

case 191:document.all.divide.click()break

}

}

//event.keyCode=0

//event.returnValue=false

}

window.document.attachEvent("onkeydown",keyDown)

</script>

</BODY>

</HTML>

http://www.chinadds.com

使用计算器进行混合运算的方法如下:

1、有一个简单的计算器,显示屏幕比较大,而且按键比较大,比较简单,可以非常快的使用乘除混合运算。

2、可以将如下的一道题进行一次性运算:“(101*273)-(458/34)=”

3、一般来说,要先计算“(101*273)=”得出结果,并记录在纸上,用作后面使用。

4、接着将“(458/34)=”的答案计算出来,又写在纸上,并将前后的结果进行减法运算,速度比较慢,而且会出现错误的概率高。

5、采用计算器一次性计算就比较简单,充分利用好"M+"和"M-"这个按键的作用,进行混合运算。

6、按键的次序是:第一“101*273”之后,再次按住"M+"按键,接着再按“458/34”和"M-"的按键,最后按”MRS"结果就出来了,不需要用纸记录。

7、使用计算器的步骤很简单,就是要比较操作的娴熟程度,尤其要理解"M+"和"M-"\”MRS"的时候,它都是要让前面的计算结果进行了记忆并运算了。