mirror of
https://gitea.smigz.com/smiggiddy/odin-codeprojects.git
synced 2024-12-26 22:30:44 -05:00
feat: negate/percentage methods added
This commit is contained in:
parent
9a5a6d6742
commit
b923073540
2 changed files with 32 additions and 1 deletions
|
@ -16,7 +16,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
<button id="clear" class="btn" value="cls" data-ops="">A/C</button>
|
<button id="clear" class="btn" value="cls" data-ops="">A/C</button>
|
||||||
<button id="action" class="btn" value="+/-" data-negate="">+/-</button>
|
<button id="action" class="btn" value="+/-" data-ops="">+/-</button>
|
||||||
<button id="action" class="btn" value="%" data-ops="">%</button>
|
<button id="action" class="btn" value="%" data-ops="">%</button>
|
||||||
<button id="action" class="btn" value="/" data-ops="">÷</button>
|
<button id="action" class="btn" value="/" data-ops="">÷</button>
|
||||||
<button class="btn" value="7" data-num="">7</button>
|
<button class="btn" value="7" data-num="">7</button>
|
||||||
|
|
|
@ -92,6 +92,12 @@ function handleOperatorClick(operatorClicked) {
|
||||||
return;
|
return;
|
||||||
} else if (operatorClicked === '=') {
|
} else if (operatorClicked === '=') {
|
||||||
handleOperation();
|
handleOperation();
|
||||||
|
} else if (operatorClicked === '+/-') {
|
||||||
|
negateNumber();
|
||||||
|
return
|
||||||
|
} else if (operatorClicked === '%') {
|
||||||
|
percentageNumber();
|
||||||
|
return
|
||||||
} else {
|
} else {
|
||||||
if(ops.secondNum && ops.numFlag){
|
if(ops.secondNum && ops.numFlag){
|
||||||
handleOperation();
|
handleOperation();
|
||||||
|
@ -121,6 +127,31 @@ function calculator(event){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function negateNumber(){
|
||||||
|
// returns a negated number
|
||||||
|
let negated;
|
||||||
|
if (!ops.numFlag || !ops.onSecondNumber) {
|
||||||
|
negated = Number(ops.firstNum) * -1;
|
||||||
|
ops.firstNum = String(negated);
|
||||||
|
} else {
|
||||||
|
negated = Number(ops.secondNum) * -1;
|
||||||
|
ops.secondNum = String(negated);
|
||||||
|
}
|
||||||
|
updateDisplay(negated);
|
||||||
|
}
|
||||||
|
|
||||||
|
function percentageNumber() {
|
||||||
|
let percent;
|
||||||
|
if (!ops.numFlag || !ops.onSecondNumber) {
|
||||||
|
percent = Number(ops.firstNum) / 100;
|
||||||
|
ops.firstNum = String(percent);
|
||||||
|
} else {
|
||||||
|
percent = Number(ops.secondNum) / 100;
|
||||||
|
ops.secondNum = String(percent);
|
||||||
|
}
|
||||||
|
updateDisplay(percent);
|
||||||
|
}
|
||||||
|
|
||||||
buttons.forEach(btn => {
|
buttons.forEach(btn => {
|
||||||
btn.addEventListener('click', calculator);
|
btn.addEventListener('click', calculator);
|
||||||
});
|
});
|
Loading…
Reference in a new issue