firdavsCreative2025's picture
Add HTML/CSS/JS/LICENSE for calculator
e817952 verified
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 {
// evaluate the current expression first so the user can do e.g. "9+7" then √ -> sqrt(16)
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')
}
}