21 - Simple Calculator with Basic Operations
Description
Algorithm
Classes
Code
import React, { useState } from 'react';
import Button from './Button';
function Calculator() {
const [input, setInput] = useState('0');
const [total, setTotal] = useState('0');
const handleInput = (value) => {
setInput(input + value);
};
const handleOperator = (operator) => {
const currentTotal = parseFloat(total);
const currentInput = parseFloat(input);
let result;
switch (operator) {
case '+':
result = currentTotal + currentInput;
break;
case '-':
result = currentTotal - currentInput;
break;
case '*':
result = currentTotal * currentInput;
break;
case '/':
result = currentTotal / currentInput;
break;
default:
result = currentTotal;
}
setTotal(result.toString());
setInput('0');
};
const handleEquals = () => {
const result = parseFloat(total) + parseFloat(input);
setTotal(result.toString());
setInput('0');
};
return (
<div>
<div>
<input type="text" value={input} readOnly />
<input type="text" value={total} readOnly />
</div>
<div>
<Button value="1" onClick={() => handleInput('1')} />
<Button value="2" onClick={() => handleInput('2')} />
<Button value="3" onClick={() => handleInput('3')} />
<Button value="+" onClick={() => handleOperator('+')} />
<Button value="-" onClick={() => handleOperator('-')} />
<Button value="*" onClick={() => handleOperator('*')} />
<Button value="/" onClick={() => handleOperator('/')} />
<Button value="=" onClick={handleEquals} />
</div>
</div>
);
}
export default Calculator;
Explanation
Possible Future Enhancements
Last updated