简体   繁体   中英

how can i make the infinity disappear when i divide by 0?

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...">
In my snippet the "divide" action is disabled for as long as the denominator (second input field) has a value that is equivalent to 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM