|
|
let outputscreen = document.getElementById('output-screen');
|
|
|
|
|
|
|
|
|
function display(num) {
|
|
|
outputscreen.value += num
|
|
|
}
|
|
|
|
|
|
|
|
|
function calculate() {
|
|
|
try {
|
|
|
outputscreen.value = eval(outputscreen.value)
|
|
|
}
|
|
|
catch (err) {
|
|
|
alert("Invalid")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function clr() {
|
|
|
outputscreen.value = ''
|
|
|
}
|
|
|
|
|
|
function del() {
|
|
|
outputscreen.value = outputscreen.value.slice(0, -1)
|
|
|
}
|
|
|
|
|
|
function sqrtAction() {
|
|
|
const val = outputscreen.value.trim()
|
|
|
if (val === '') return
|
|
|
try {
|
|
|
|
|
|
const evaluated = eval(val)
|
|
|
if (typeof evaluated !== 'number' || isNaN(evaluated)) {
|
|
|
alert('Invalid')
|
|
|
return
|
|
|
}
|
|
|
if (evaluated < 0) {
|
|
|
alert('Cannot take square root of negative number')
|
|
|
return
|
|
|
}
|
|
|
outputscreen.value = Math.sqrt(evaluated)
|
|
|
} catch (err) {
|
|
|
alert('Invalid')
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function percentAction() {
|
|
|
const val = outputscreen.value.trim()
|
|
|
if (val === '') return
|
|
|
try {
|
|
|
const evaluated = eval(val)
|
|
|
if (typeof evaluated !== 'number' || isNaN(evaluated)) {
|
|
|
alert('Invalid')
|
|
|
return
|
|
|
}
|
|
|
outputscreen.value = evaluated / 100
|
|
|
} catch (err) {
|
|
|
alert('Invalid')
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function squareAction() {
|
|
|
const val = outputscreen.value.trim()
|
|
|
if (val === '') return
|
|
|
try {
|
|
|
const evaluated = eval(val)
|
|
|
if (typeof evaluated !== 'number' || isNaN(evaluated)) {
|
|
|
alert('Invalid')
|
|
|
return
|
|
|
}
|
|
|
outputscreen.value = evaluated * evaluated
|
|
|
} catch (err) {
|
|
|
alert('Invalid')
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function toggleSign() {
|
|
|
const val = outputscreen.value.trim()
|
|
|
if (val === '') return
|
|
|
try {
|
|
|
const evaluated = eval(val)
|
|
|
if (typeof evaluated !== 'number' || isNaN(evaluated)) {
|
|
|
alert('Invalid')
|
|
|
return
|
|
|
}
|
|
|
outputscreen.value = evaluated * -1
|
|
|
} catch (err) {
|
|
|
alert('Invalid')
|
|
|
}
|
|
|
} |