JS写一个简单的 计算器。字符串 转数组,截取数组转数字。提取计算符号

如题

<!DOCTYPE html>

<html lang="en">



<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <script>



        function cal() {

            var tempStr = prompt('请输入计算的式子');

            var tempArr = Array.from(tempStr);//输入的字符串 转 数组。数组中的元素还是字符串

            var type = '';

            var num1 = '';

            var num2 = '';



            for (var i = 0; i < tempArr.length; i++) {

                num1 += tempArr[i];//取出计算类型(+,-,*,/)符号前的第一个数

                if (tempArr[i] == '+' || tempArr[i] == '-' || tempArr[i] == '*' || tempArr[i] == '/') {

                    543

                    type = tempArr[i];//字符串类型存  计算类型

                    break;

                }

            }

            num1 = parseInt(num1);

            // 打印第一个数字

            console.log(num1);



            // 打印计算类型符号,字符串

            console.log(type);



            //翻转数组

            var emptyArr = [];

            for (var j = tempArr.length - 1; j >= 0; j--) {

                emptyArr[emptyArr.length] = tempArr[j];

            }



            console.log(emptyArr);



            for (var n = 0; n < emptyArr.length; n++) {

                num2 += emptyArr[n];//取出计算类型 符号前的第一个数

                if (emptyArr[n] == '+' || emptyArr[n] == '-' || emptyArr[n] == '*' || emptyArr[n] == '/') {

                    break;

                }

            }

            num2 = parseInt(num2);

            // 打印第二个数字

            console.log(num2);



            var res;

            if (type == '+') {

                res = num1 + num2;

                tishi = alert('结果是' + res);

            }

            else if (type == '-') {

                res = num1 - num2;

                tishi = alert('结果是' + res);

            }

            else if (type == '*') {

                res = num1 * num2;

                tishi = alert('结果是' + res);

            }

            else if (type == '/') {

                res = num1 / num2;

                tishi = alert('结果是' + res);

            }

            else {

                return ('输入的式子不合法')

            }

            return tishi;

        }

        cal()

    </script>

</head>



<body>



</body>



</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值