Java Script Taschenrechner ?

2 Antworten

Ich versteh nicht ganz was du willst.

Aber die Funktion zum Ersetzen von Zeichen heißt replace bzw replaceAll.

lllkrlrkewkrewr 
Fragesteller
 05.08.2021, 19:16
HTML:



<body>


    <div id="resultArea" >



    </div>


<table>
    <tr>



        <td onclick="deleteLast()">DEL</td>
        <td onclick="deleteAll()" >AC</td>
        <td onclick="appendOperation(' π ')"  >π </td>
        <td onclick="appendOperation(' / ')" class="highlight">÷</td>
        


    </tr>
            <tr>
                                    <td onclick="appendOperation(7)" >7</td>
                                    <td onclick="appendOperation(8)">8</td>
                                    <td onclick="appendOperation(9)">9</td>
                                    <td onclick="appendOperation(' - ')" class="highlight">-</td>


            </tr>
            <tr>
                                    <td onclick="appendOperation(4)" >4</td>
                                    <td onclick="appendOperation(5)">5</td>
                                    <td onclick="appendOperation(6)">6</td>
                                    <td onclick="appendOperation(' * ')" class="highlight">x</td>
            </tr>   
            <tr>
                                    <td onclick="appendOperation(1)">1</td>
                                    <td onclick="appendOperation(2)">2</td>
                                    <td onclick="appendOperation(3)">3</td>
                                    <td onclick="appendOperation(' + ')" class="highlight">+</td>
            </tr>
            <tr>
                                    <td colspan="2" onclick="appendOperation(0)">0</td>
                                    <td onclick="appendOperation('.')">.</td>
                                    <td  onclick="calculateResult()" id="result" >=</td>
            </tr>
</table>


</body>
JavaScirpt:



var π = 3.14159265359



function appendOperation(operation){
    document.getElementById("resultArea").innerHTML += operation;
}


function calculateResult(){
let container = document.getElementById("resultArea");
let result = eval(container.innerHTML);
container.innerHTML = result;
}
function deleteLast(){
    let container = document.getElementById("resultArea");
    if(container.innerHTML.endsWith(" ")){
        container.innerHTML = container.innerHTML.slice(0,-2);
    }if(container.innerHTML.endsWith("undefined")){
        container.innerHTML = container.innerHTML.slice(0,-9);
    }
    
    else{
    container.innerHTML = container.innerHTML.slice(0,-1);}
}



    function deleteAll(){
        let container = document.getElementById("resultArea");
        container.innerHTML = '';


    }



0
lllkrlrkewkrewr 
Fragesteller
 05.08.2021, 19:17

Also ich möchte dass "/" und "." nicht als erstes gedrückt werden dürfen sondern das man erst zahlen, pi oder ein -/+ gedrückt haben muss.

und das man keine .. tippen kann.

Würde ja kein sinn machen, wenn jemand ..9999..9942848 /+/ ....... - rechnen wollen würde wenn du verstehst was ich meine

0