Hallo akuep,
ich hätte noch ein paar Fragen:
-
warum
const tol_diameter = parseFloat(219.1);
219.1 ist bereits ein numerisches Literal. Floater als float geht nicht, zumindest nicht in JavaScript. -
Warum gibst Du Variableninhalte per prompt()-Aufruf aus? Die Konsole ist offen, und die Zeiten, wo console.log() das Script gekillt hat, wenn die Konsole nicht offen war, sind vorbei. ⇒ Logging in der Konsole
-
Warum steckt das <select>-Element in einem div? Wie schon öfter erwähnt, ist Divitis eine langwierige und schmerzhafte Krankheit. Gelegentlich kann so ein div schon Sinn ergeben, z.B. wenn visuelle Deko erstellt werden soll, aber oft genug ist es überflüssig. Jedenfalls sollte es zum <select>-Element auch ein <label for="diao_input">Durchmesser</label> oder so geben. Oder hast Du das notwendige Label für das Eingabeelement anderswo untergebracht?
-
Beachte auch, dass .toFixed() wieder eine Zeichenkette erstellt. Wenn Du mit c1 also weiterrechnen willst, ist das eigentlich nicht das Mittel der Wahl. Leider hat JavaScript keine Funktion zum Runden auf die x-te Stelle, für 2 Nachkommastellen muss man
c1 = Math.round(c1 * 100) / 100;
rechnen. Wenn Du die toFixed-Darstellung nicht zum Rechnen, sondern für die Ausgabe brauchst, dann solltest Du Dir die Optionen für Zahlendarstellung von Intl.NumberFormat anschauen. Dem kannst Du auch sagen, wieviele Nachkommastellen es mindestens und höchstens geben soll, und er erzeugt Dir auch gleich ein Dezimalkomma statt eines Dezimalpunkts. Die Intl-Funktionen sehen wüst aus, was daran liegt, dass sie viel können, aber in der Praxis braucht man einen oder zwei Formatter, die erzeugt man einmal und dann ist gut. Der Formatter kann auch gleich das Runden übernehmen.
Rolf
sumpsi - posui - obstruxi