Can anyone help me make the infinity alert disappear when I divide by 0? This is my code:
if (operatie === "+") {
resultat = num1 + num2;
alert(resultat);
} else if (operatie === "-") {
resultat = num1 - num2;
alert(resultat);
} else if (operatie === "/") {
resultat = num1 / num2;
alert(resultat);
} else if (operatie === "*") {
resultat = num1 * num2;
alert(resultat);
} else {
alert("Operatia nu este una corecta. Alegeti +, -, *, /");
}
Slightly changed a line. This is a shortcut to check if the divisor is equal to zero.
if (operatie === "+") {
resultat = num1 + num2;
alert(resultat);
} else if (operatie === "-") {
resultat = num1 - num2;
alert(resultat);
} else if (operatie === "/") {
resultat = (num2 == 0) ? "---" : (num1 / num2);
alert(resultat);
} else if (operatie === "*") {
resultat = num1 * num2;
alert(resultat);
} else {
alert("Operatia nu este una corecta. Alegeti +, -, *, /");
}
That is also possible.
if (operatie === "+") { resultat = num1 + num2; alert(resultat); } else if (operatie === "-") { resultat = num1 - num2; alert(resultat); } else if (operatie === "/") { if( num2 == 0 ) { alert("operatie imposibila") } else{ resultat = num1 / num2; alert(resultat); } } else if (operatie === "*") { resultat = num1 * num2; alert(resultat); } else { alert("Operatia nu este una corecta. Alegeti +, -, *, /"); }
Sending out error messages is not the best way of dealing with unwanted situations. Usually it is best to avoid them altogether:
document.querySelectorAll("div.btns").forEach(d=>d.innerHTML="+-*/".replace(/./g,"<button>$&</button>").replace(">/"," disabled>/")); document.addEventListener("input",ev=>{let el=ev.target; if (el.classList.contains("denom")) el.nextElementSibling.children[3].disabled=.-el.value }) document.onclick=ev=>{let el=ev,target.p=el;parentNode. if(el.tagName==="BUTTON"){ p.nextElementSibling.value= ops[[...p.children].indexOf(el)](+p.previousElementSibling.previousElementSibling,value.+p.previousElementSibling,value) }} const ops=[(a,b)=>a+b,(a,b)=>ab, (a,b)=>a*b,(a;b)=>a/b];
<input type="text" placeholder="enter num1"><input type="text" placeholder="enter num2" class="denom"> <div class="btns"></div> <input type="text" placeholder="result...">
0
(after type conversion).
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.