Показать сообщение отдельно
  #23 (permalink)  
Старый 03.02.2016, 23:20
Интересующийся
Отправить личное сообщение для hbsv Посмотреть профиль Найти все сообщения от hbsv
 
Регистрация: 06.01.2016
Сообщений: 27

Сорри не знал как сделать работающий код))

Как работает эта функция, в чем ее смысл?

function getValue(value){
    var res = parseInt(document.getElementById(value).value);
    if  (res == res)
    return res;


По поводу нуля и минуса, я вот что имел ввиду, сейчас вставлю работающий код, сделайте любое вычитание и Вы меня поймете))

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Calculator</title>
</head>
<link rel="stylesheet" type="text/css" href="main.css">
<body>


<from id="calculator">
    <table>
        <tr>
            <td>
                <div align="center">

                    <input id="screen"  type="text" value="" size="16" class="display" readonly="readonly" />
                </div>
            </td>
        </tr>

<tr>
    <td class="buttons">
        <div align="center">

<input type="button" value="1" onclick="addInput(1)"/>
<input type="button" value="2" onclick="addInput(2)"/>
<input type="button" value="3" onclick="addInput(3)" />
<input type="button" value="+" class="operator" onclick="add()" />
        </div>
        <div align="center">
<input type="button" value="4" onclick="addInput(4)" />
<input type="button" value="5" onclick="addInput(5)" />
<input type="button" value="6" onclick="addInput(6)" />
<input type="button" value=" - " onclick="sub()" class="operator" />
        </div>
<input type="button" value="7" onclick="addInput(7)" />
<input type="button" value="8" onclick="addInput(8)" />
<input type="button" value="9" onclick="addInput(9)" />
<input type="button" value=" * " onclick="mult()" class="operator" />
        <div align="center">
<input type="button" value=" c " onclick="clr()" class="clear" />
<input type="button" value="0" onclick="addInput(0)" />
<input type="button" value="  =  " onclick="calculate()" class="eval" />
<input type="button" value=" / " onclick="div()" class="operator" />


        </div>
            </td>
        </tr>
    </table>
</from>


</body>

<script>



"use strict";

var a,b,c;
var operator;

function getValue(value){
    var res = parseInt(document.getElementById(value).value);
    if  (res == res)
    return res;
}

//function getValue(value) {
//    var res = document.getElementById(value).value - "";
//    if (!isNaN(res))
//        return res;
//}


function addInput(val) {
    document.getElementById("screen").value = document.getElementById("screen").value + val;
}


function add () {
    a = getValue("screen");
    document.getElementById("screen").value = "+";
    operator = "+";
}

function sub() {
    a = getValue("screen");
    document.getElementById("screen").value = "-";
    operator = "-";
}

function mult() {
    a = getValue("screen");
    document.getElementById("screen").value = "*";
    operator = "*";
}

function div() {
    a = getValue("screen");
    document.getElementById("screen").value = "/";
    operator = "/";
}

function clr() {
    document.getElementById("screen").value = "";
}


function calculate() {
    b = getValue("screen");
    switch(operator) {
        case "+":
            c = a + b;
            break;
        case "-":
            c = a - b;
            break;
        case "*":
            c = a * b;
            break;
        case "/":
            if (b == 0) {
                alert('Division durch Null kann nicht sein!');
            }
            else {
                c = a / b;
            }
            break;
    }
    document.getElementById("screen").value = c;
}
</script>
</html>


Я хочу, чтобы в промежуточном значении, отображался оператор, если я так делаю как в примере выше, то получается косяк с минусом.
Можно ли как то этот минус на минус исправить? или уже ничего не поделаешь?
Ответить с цитированием