帮我写一个HTML计算器代码、
时间: 2024-09-19 13:14:06 浏览: 33
创建一个简单的HTML计算器可以分为两部分:HTML结构和JavaScript交互。下面是一个基础的HTML+JavaScript实现的简单计算器示例:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>简易计算器</title>
<style>
#calculator {
width: 200px;
padding: 10px;
border: 1px solid gray;
}
input[type=number] {
width: 50%;
}
</style>
</head>
<body>
<div id="calculator">
<input type="text" id="display" disabled>
<br><br>
<button onclick="appendNumber('7')">7</button>
<button onclick="appendNumber('8')">8</button>
<button onclick="appendNumber('9')">9</button>
<button onclick="calculate()">=/-</button>
<br>
<button onclick="appendNumber('4')">4</button>
<button onclick="appendNumber('5')">5</button>
<button onclick="appendNumber('6')">6</button>
<button onclick="clearDisplay()">C</button>
<br>
<button onclick="appendNumber('1')">1</button>
<button onclick="appendNumber('2')">2</button>
<button onclick="appendNumber('3')">3</button>
<button onclick="addOperator('+')">+</button>
<br>
<button onclick="appendNumber('0')">0</button>
<button onclick="appendDecimal('.')">.</button>
<button onclick="calculate()">x^2</button>
<button onclick="calculate()">sqrt</button>
</div>
<script>
let display = document.getElementById("display");
let currentNumber = "";
function appendNumber(num) {
if (currentNumber !== "") {
display.value += " " + num;
} else {
display.value = num;
}
currentNumber = num;
}
function appendDecimal() {
if (currentNumber.includes(".") || !currentNumber) return;
display.value += ".";
currentNumber += ".";
}
function clearDisplay() {
display.value = "";
currentNumber = "";
}
function calculate() {
const value = parseFloat(display.value);
if (!isNaN(value)) {
switch (currentNumber) {
case "+":
display.value = eval(display.value.split(" ")[0]) + eval(display.value.split(" ")[1]);
break;
case "-":
display.value = eval(display.value.split(" ")[0]) - eval(display.value.split(" ")[1]);
break;
case "*":
display.value = eval(display.value.split(" ")[0]) * eval(display.value.split(" ")[1]);
break;
case "/":
display.value = eval(display.value.split(" ")[0]) / eval(display.value.split(" ")[1]);
break;
// 其他运算符处理...
default:
display.value = Math.pow(value, parseInt(currentNumber));
// 或者 sqrt(value) 如果需要平方根
break;
}
currentNumber = "";
}
}
</script>
</body>
</html>
```
这个代码包含了一个简单的按钮布局,用户可以输入数字和进行加减乘除等基本运算。注意这只是一个非常基础的实现,实际应用中可能需要添加更多功能,如括号处理、清除历史记录等。
阅读全文