Angular JS实现简单计算器

设计一个程序:实现一个简单的计算器的设计
要求:
1、设计web前端界面
2、 掌握基本的Angular-js开发过程
3、 掌握熟悉Angular-js开发环境的配置

calc.js

var app = angular.module("calculator", []);
        app.controller("FirstController", function ($scope) {
                $scope.textView = "0";
                $scope.fuhao = "";
                $scope.firstNumber = "";
                $scope.secondNumber = "";
                $scope.doEmpty = function () {
                    $scope.textView = "0";
                    $scope.fuhao = "";
                    $scope.firstNumber = "";
                    $scope.secondNumber = "";
                }
                //点击正负数时
                $scope.valiteNumber = function () {
                    if ($scope.firstNumber == "") {//什么都没有时
                        $scope.firstNumber = "-";
                        return;
                    }
                    if ($scope.firstNumber != "" && $scope.fuhao == "") {
                        if ($scope.firstNumber / 1 > 0) {
                            $scope.firstNumber = "-" + $scope.firstNumber;
                        } else {
                            $scope.firstNumber = $scope.firstNumber.substring(1, $scope.firstNumber.length);
                        }
                        $scope.textView = $scope.firstNumber;
                        return;
                    }
                    if ($scope.fuhao != "") {
                        if ($scope.secondNumber == "") {
                            $scope.secondNumber = "-";
                            $scope.textView = $scope.secondNumber;
                            return;
                        }
                        if ($scope.secondNumber / 1 > 0) {
                            $scope.secondNumber = "-" + $scope.secondNumber;
                        } else {
                            $scope.secondNumber = $scope.secondNumber.substring(1, $scope.secondNumber.length);
                        }
                        $scope.textView = $scope.secondNumber;
                        return;
                    }

                }

                //点击运算符号
                $scope.addChar = function (theChar) {
                    if ($scope.firstNumber != "" && $scope.fuhao == "") {
                        if ($scope.firstNumber == "." || $scope.firstNumber == "-") {
                            return;
                        }
                        $scope.fuhao = theChar;
                        return;
                    }
                    if ($scope.firstNumber != "" && $scope.fuhao != "" && $scope.secondNumber == "") {
                        $scope.fuhao = theChar;
                        return;
                    }
                    if ($scope.firstNumber != "" && $scope.fuhao != "" && $scope.secondNumber != "") {
                        if ($scope.secondNumber == "." || $scope.secondNumber == "-") {
                            return;
                        }
                        if ($scope.fuhao == "÷" && $scope.secondNumber == "0") {
                            return;
                        }
                        $scope.doCount();
                        $scope.fuhao = theChar;
                        return;
                    }
                    // $scope.textView = $scope.firstNumber + $scope.fuhao + $scope.secondNumber;

                }    //addChar

                //删除
                $scope.deleteOneChar = function () {
                    if ($scope.secondNumber != "") {
                        $scope.secondNumber = $scope.secondNumber.substring(0, $scope.secondNumber.length - 1);
                        $scope.textView = $scope.secondNumber;
                        return;
                    }
                    if ($scope.fuhao != "") {
                        $scope.fuhao = "";
                        $scope.textView = $scope.firstNumber;
                        return;
                    }
                    if ($scope.firstNumber != "") {
                        $scope.firstNumber = $scope.firstNumber.substring(0, $scope.firstNumber.length - 1);
                        if ($scope.firstNumber == "") {
                            $scope.textView = "0";
                            return;
                        }
                        $scope.textView = $scope.firstNumber;
                        return;
                    }
                    $scope.textView = 0;
                }//deleteOneChar

                //添加数字
                $scope.addNumber = function (text) {
                    if ($scope.fuhao == "") {
                        if (text == "." && $scope.firstNumber.indexOf(".") > -1) {
                            return;
                        }
                        $scope.firstNumber += text;
                        $scope.textView = $scope.firstNumber;
                    } else {
                        if (text == "." && $scope.secondNumber.indexOf(".") > -1) {
                            return;
                        }
                        $scope.secondNumber += text;
                        $scope.textView = $scope.secondNumber;
                    }
                }

                //计算
                $scope.doCount = function () {
                    if ($scope.firstNumber == "" || $scope.fuhao == "" || $scope.secondNumber == "") {
                        return;
                    }
                    if ($scope.firstNumber != "") {
                        if ($scope.firstNumber == "." || $scope.firstNumber == "-") {
                            return;
                        }
                    }
                    if ($scope.secondNumber != "") {
                        if ($scope.secondNumber == "." || $scope.secondNumber == "-") {
                            return;
                        }
                    }
                    var fNumber = $scope.firstNumber / 1;
                    var sNumber = $scope.secondNumber / 1;
                    var result = 0;
                    switch ($scope.fuhao) {
                        case "×":
                            result = fNumber * sNumber;
                            break;
                        case "÷":
                            if (sNumber == 0) {
                                return;
                            }
                            result = fNumber / sNumber;
                            break;
                        case "+":
                            result = fNumber + sNumber;
                            break;
                        case "-":
                            result = fNumber - sNumber;
                            break;
                    }
                    if ($scope.fuhao == "÷" && sNumber == 1) {

                    } else {
                        var temp = result + "";
                        if (temp.indexOf('.') > -1 && temp.split('.')[1].length >= 8) {
                            result = result.toFixed(8);
                        }
                    }
                    $scope.textView = result / 1 + "";
                    $scope.fuhao = "";
                    $scope.firstNumber = result / 1 + "";
                    $scope.secondNumber = "";
                }//doCount
            }
        );




index.html

<!DOCTYPE html>
<html ng-app="calculator">
	<head>
		<meta charset="utf-8" />
		<title>计算器</title>
		<style type="text/css">
            body{
                padding: 0;margin: 0;
                background-color:#49C593 ;
            }
            #calculator{
                position: absolute;
                width: 1200px;height: 620px;
                left: 50%;top: 50%;
                margin-left: -600px;
                margin-top: -310px;
            }
            #calculator #c_title {
                margin: auto;
                /*margin-left: 300px;*/
                width: 800px;
                height: 80px;
            }
            #calculator #c_title h2{
                text-align: center;
                font-size: 33px;font-family: "微软雅黑";color: #skyblue;
                line-height: 30px;
            }
            #c_text{
                width: 1000px;
                margin: auto;
            }
            #calculator #c_text #text{
                /*margin-left: 200px;*/
                padding-right: 10px;
                width: 1000px;
                height: 50px;
                font-size: 25px;font-family: "微软雅黑";color: #blue;
                text-align: right;border: 1px white;
                border: double 1px;
            }
            #calculator #c_value{
                width: 1080px;height: 408px;
                /*margin-left: 160px;*/
                margin: 20px auto;
            }
            #calculator #c_value ul{
                margin: 0;
            }
            #calculator #c_value ul li{
                margin: 10px;
                list-style: none;float: left;
                width: 180px;height: 80px;line-height: 80px;
                text-align: center;background-color: chartreuse;
                border: 1px solid black;
                font-size: 30px;font-family: "微软雅黑";color: red;
                box-shadow: 5px 5px 30px rgba(0,0,0,0.4);           
                -webkit-user-select: none;
                -ms-user-select: none;
                -moz-user-select: none;
            }
            #calculator #c_value ul li:active{
                background-color: white;
            }
            #calculator #c_value ul li:hover{
                opacity:0.8;
                cursor:pointer;
            }
            #calculator #c_value ul .c_blue{
                background-color: cornflowerblue;color: #000000;
            }
            #calculator #c_value ul .c_yellow{
                background-color: #f9f900;color: #000000;
            }
        </style>
 
<script src="https://cdn.bootcss.com/angular.js/1.6.7/angular.min.js"></script>

<script src="js/calc.js"></script>

	</head>
	<body>
        <div id="calculator" ng-controller="FirstController">
            <div id="c_title"><h2>计算器</h2></div>
            <div id="c_text">
                <input type="text" id="text" value="0" readonly="readonly"  ng-model="textView" disabled />
            </div>
            <div id="c_value">
                <ul>
                    <li ng-model="seven" ng-click="addNumber('7')">7</li>
                    <li ng-model="eight" ng-click="addNumber('8')">8</li>
                    <li ng-model="nine" ng-click="addNumber('9')">9</li>
                    <li class="c_blue" ng-model="delete" ng-click="deleteOneChar()">←</li>
                    <li class="c_blue" ng-model="empty" ng-click="doEmpty()">C</li>
                    <li ng-model="four" ng-click="addNumber('4')">4</li>
                    <li ng-model="five" ng-click="addNumber('5')">5</li>
                    <li ng-model="six" ng-click="addNumber('6')">6</li>
                    <li class="c_blue" ng-model="cheng" ng-click="addChar('×')">×</li>
                    <li class="c_blue" ng-model="chu" ng-click="addChar('÷')">÷</li>
                    <li ng-model="one" ng-click="addNumber('1')">1</li>
                    <li ng-model="two" ng-click="addNumber('2')">2</li>
                    <li ng-model="three" ng-click="addNumber('3')">3</li>
                    <li  class="c_blue" ng-model="jia" ng-click="addChar('+')">+</li>
                    <li class="c_blue" ng-model="jian" ng-click="addChar('-')">-</li>
                    <li ng-model="zero" ng-click="addNumber('0')">0</li>
                    <li ng-model="zero" ng-click="addNumber('00')">00</li>
                    <li ng-model="dot" ng-click="addNumber('.')">.</li>
                    <li class="c_blue">%</li>
                    <li  class="c_yellow" ng-model="dengyu" ng-click="doCount()">=</li>
                </ul>
            </div>
        </div>
    </body>


</html>


运行效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐亦亦乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值