计算器的CE按钮不能正常工作

时间:2018-04-03 08:32:28

标签: javascript html css

我的计算器的CE按钮不起作用,它只是在点击CE按钮时清除所有数字。我只想在点击CE按钮时,它只删除最后一个数字,而不是所有数字和计算器加载它时还有一件事显示默认值0,当输入的任何数字为0时,将替换为该数字

<html>
        <head>
        <title>Calculator
        </title>
        <link rel="stylesheet" href="index.css">
        </head>
        <body>
        <center>
        
        <form name="calculator">
        <div style=" width: 200px;height: 250px;border: 1px solid #D0CECE;">
        
        <table  style="margin-top:20px;">
        <tr>
        <td>
        <input name="displayresult"  id="display" class="cal-input" disabled >
        </td>
        </tr>
        </table>
        <table border="0px" cellspacing="10px" style="margin-top:5px;">
        
        <tr>
        <td name="left" value="(" onclick="calculator.display.value += '('" class="cal-top">(</td>
        <td name="right" value=")" onclick="calculator.display.value += ')'" class="cal-top"> )</td>
        <td class="operator cal-top" name="percent" value="%" onclick="calculator.display.value += '%'">%</td>
        <td id="clear" name="clear" value="c" onclick="calculator.display.value = ''" class=" cal-top">CE</td>
        
        </tr>
        
        <tr>
        <td name="seven" value="7" onclick="calculator.display.value += '7'" class="cal-number">7</td>
        <td name="eight" value="8" onclick="calculator.display.value += '8'" class="cal-number">8</td>
        <td name="nine" value="9" onclick="calculator.display.value += '9'" class="cal-number">9</td>
        <td class="operator cal-top" name="div" value="/" onclick="calculator.display.value += '/'">/</td>
        </tr>
        
        <tr>
        <td name="four" value="4" onclick="calculator.display.value += '4'" class="cal-number">4</td>
        <td name="five" value="5" onclick="calculator.display.value += '5'" class="cal-number">5</td>
        <td name="six" value="6" onclick="calculator.display.value += '6'" class="cal-number">6</td>
        <td class="operator cal-top" name="times" value="*" onclick="calculator.display.value += '*'">*</td>
        </tr>
        
        <tr>
        <td name="one" value="1" onclick="calculator.display.value += '1'" class="cal-number">1</td>
        <td name="two" value="2" onclick="calculator.display.value += '2'" class="cal-number">2</td>
        <td name="three" value="3" onclick="calculator.display.value += '3'" class="cal-number">3</td>
        <td class="operator cal-top" name="minus" value="-" onclick="calculator.display.value += '-'">-</td>
        </tr>
        
        <tr>
        <td name="zero" value="0" onclick="calculator.display.value += '0'" class="cal-number">0</td>
        <td name="decimal" value="." onclick="calculator.display.value += '.'" class="cal-number">.</td>
        <td name="result" value="=" onclick="calculator.display.value = eval(calculator.display.value)" class="cal-result"><b>=</b></td>
        <td class="operator cal-top" name="plus" value="+" onclick="calculator.display.value += '+'">+</td>
        </tr>
        
        </table>
        </div>
        </form>
        
        
        </center>
        </body>
        </head>
        </html>

2 个答案:

答案 0 :(得分:0)

CE按钮onclick功能更改为以下内容:

onclick="str = calculator.display.value.slice(0, -1);calculator.display.value = str;"

获取计算器输出的值,并从中删除最后一个字符并将其放入名为str的变量中,然后将计算器输出设置为str的值。

然后将placeholder="0"添加到显示计算器输出的<input>

<input name="displayresult" id="display" class="cal-input" placeholder="0" disabled>

<input>不包含任何内容时0显示值<html> <head> <title>Calculator </title> <link rel="stylesheet" href="index.css"> </head> <body> <center> <form name="calculator"> <div style=" width: 200px;height: 250px;border: 1px solid #D0CECE;"> <table style="margin-top:20px;"> <tr> <td> <input name="displayresult" id="display" class="cal-input" placeholder="0" disabled> </td> </tr> </table> <table border="0px" cellspacing="10px" style="margin-top:5px;"> <tr> <td name="left" value="(" onclick="calculator.display.value += '('" class="cal-top">(</td> <td name="right" value=")" onclick="calculator.display.value += ')'" class="cal-top"> )</td> <td class="operator cal-top" name="percent" value="%" onclick="calculator.display.value += '%'">%</td> <td id="clear" name="clear" value="c" onclick="str = calculator.display.value.slice(0, -1); calculator.display.value = str" class=" cal-top">CE</td> </tr> <tr> <td name="seven" value="7" onclick="calculator.display.value += '7'" class="cal-number">7</td> <td name="eight" value="8" onclick="calculator.display.value += '8'" class="cal-number">8</td> <td name="nine" value="9" onclick="calculator.display.value += '9'" class="cal-number">9</td> <td class="operator cal-top" name="div" value="/" onclick="calculator.display.value += '/'">/</td> </tr> <tr> <td name="four" value="4" onclick="calculator.display.value += '4'" class="cal-number">4</td> <td name="five" value="5" onclick="calculator.display.value += '5'" class="cal-number">5</td> <td name="six" value="6" onclick="calculator.display.value += '6'" class="cal-number">6</td> <td class="operator cal-top" name="times" value="*" onclick="calculator.display.value += '*'">*</td> </tr> <tr> <td name="one" value="1" onclick="calculator.display.value += '1'" class="cal-number">1</td> <td name="two" value="2" onclick="calculator.display.value += '2'" class="cal-number">2</td> <td name="three" value="3" onclick="calculator.display.value += '3'" class="cal-number">3</td> <td class="operator cal-top" name="minus" value="-" onclick="calculator.display.value += '-'">-</td> </tr> <tr> <td name="zero" value="0" onclick="calculator.display.value += '0'" class="cal-number">0</td> <td name="decimal" value="." onclick="calculator.display.value += '.'" class="cal-number">.</td> <td name="result" value="=" onclick="calculator.display.value = eval(calculator.display.value)" class="cal-result"><b>=</b></td> <td class="operator cal-top" name="plus" value="+" onclick="calculator.display.value += '+'">+</td> </tr> </table> </div> </form> </center> </body> </head> </html>,当字符添加到框中时,它会消失。

{{1}}

答案 1 :(得分:0)

你可以为此应用简单的数学。划分和乘法10 对于CE :将数字除以10并返回整数。 例如:你已经按了103,现在你点击了CE。     现在103/10 = 10(整数)。  对于0替换:相同的反向逻辑,您可以通过按下的数字申请替换默认零 例如:现在你按2显示0    0(旧值)* 10 + 2(按下新键)= 2    按6后    2(旧值)* 10 + 6(按下新键)= 26