简易的加减乘除的计算器代码js

JavaScript010

简易的加减乘除的计算器代码js,第1张

//html

<input type="text" id="num1" value="" />

    <select id="mySelect">

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

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

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

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

    </select>

    <input type="text" id="num2" value="" />

    <input type="button" id="jisuan" value="计算" />

//js

<script>

    var oTxt1 = document.getElementById('num1')

    var oTxt2 = document.getElementById('num2')

    var oSelect = document.getElementById('mySelect')

    var oBtn = document.getElementById('jisuan')

    oBtn.onclick=function(){

        switch(oSelect.value){

            case '+':

                alert(parseInt(oTxt1.value)+parseInt(oTxt2.value))

                break

            case '-':

                alert(parseInt(oTxt1.value)-parseInt(oTxt2.value))

                break

            case '*':

                alert(parseInt(oTxt1.value)*parseInt(oTxt2.value))

                break

            case '/':

                if(parseInt(oTxt2.value) !== 0){

                    alert(parseInt(oTxt1.value)/parseInt(oTxt2.value))

                }else{

                    alert('除数不能为0')

                }

                

                break

            default:

                alert('Bug!!!')

        }

    }

</script>

javascript中的运算时存在问题的,下面以除法为例,仅供参考:

javascript中的除法问题:

计算一下:

8.80 * 100 * 12 / 100

结果:105.60000000000002

38.80也会出现类似的问题。

精确度增加10倍:

8.80 * 1000 * 12 / 1000

结果:105.6

正常了。

16.40 * 1000000 * 6 / 1000000

结果也有问题

为了让js执行的更准确,在以后的js小数计算中直接将值扩大10000倍,再除以10000,就可以解决问题。

var num = 38.80

var num2 = 13

alert(num * 10000 * 12 / 10000)

被乘和除的这个数经过测试10000最合适,小了有些数字出问题,大了(1000000)有些数字也出问题。