Ich habe eine einfache kleine Quadratwurzel Rechner innerhalb JavaScript entwickelt, mit einer for
Schleife.für Schleifeninkrement mit Dezimalstopp bei 1,42 statt fortfahren, bis die Berechnung abgeschlossen ist
Allerdings bemerkte ich bei der Ausgabe jedes Wertes für i
jedes Mal, wenn die Schleife iteriert (mit console.log(i).toFixed(2)
), würde die Zählung bei 1.42
jedes Mal stoppen. Hier
ist die JavaScript:
// inp is the input in which the user types the number they would like to find the square root of
for(var i = 0; i < inp.value; i += 0.01){
var check = i * i;
check = check.toFixed(2); // fix decimal to a tenth
console.log(i.toFixed(2)); // output value to console
if(check == inp.value){ // if i * i is equal to user input
alert(i); // alert the square root
break; // break out of for loop
} else if(check > inp.value){ // if the value is more than user input
alert("Value could not be found."); // alert value could not be found
break; // break out of for loop
}
}
Alle Hilfe ist willkommen,
Dank.
EDIT: Ich habe bemerkt, dass, wenn ich 1
eingeben, wird es ausgegeben, bis 0.99
, als 1.42
EDIT No 2 zu Gegensatz: Ich Ibrahims aus neuer Antwort getestet, und es Semi-Art gearbeitet. Es stoppt jetzt bei 3.17
statt 1.42
. Allerdings bemerkte ich, dass nach dem Test meine Laptop-Fans mit Vollgas zu drehen begannen und meine CPU-Last für eine kurze Sekunde auf 100% anstieg, bevor sie sich auf etwa 40% verlangsamte. Wäre es vielleicht die Tatsache, dass der Laptop nicht mit der konsistenten For-Schleife umgehen kann? Wenn ja, was wäre eine bessere Alternative dazu? Dank
Fiddle: https://jsfiddle.net/pk7or60f/
Was ist der Wert für den Eingangswert? –
@FanyoSILIADIN, was auch immer der Benutzer eingibt. –
was auch immer der Benutzer Eingaben Sie bei 1,42 stoppen? –