Hallo,
ich gehe jetzt in den Keller und trinke was :_)
du trinkst im Keller? 😀
Ich gehe höchstens in den Keller, um mir was zum Trinken zu holen.
function getInputAsFloat(element) { if(!element){ return 0; } else{ let inhalt = element.value.replace(/[^0-9 ]/g, ""); let value = parseFloat(inhalt); return value|| 0; } }
Hmm. Zwei Variablen eingeführt für nix und wieder nix. Jeden Schritt einzeln. Meine Vorstellung von übersichtlich oder gar effizient ist das nicht. Also jetzt nochmal dasselbe, ohne die Flasche nach jedem Schluck wieder abzustellen:
function getInputAsFloat(element)
{ return (element
? parseFloat(element.value.replace(/[^0-9 ]/g, "")) || 0
: 0);
}
Sieht doch gleich viel kompakter und klarer aus, finde ich.
Und dann wäre da noch was: Die Namensgebung sagt, dass du einen float-Wert erwartest, also eine gebrochene Zahl. Dein radikales replace bügelt aber alles weg, was keine Ziffer ist. Eine Eingabe von 3.14 kommt also als 314 zurück, -1.5 als 15. Soll das so sein?
Und was ist mit sehr großen oder sehr kleinen Zahlen? Wenn Eingaben in der Größenordnung von Millionen realistisch sind, möchte ich die schon ganz gern als 7.5E+6 eingeben dürfen.
Möchtest du also vielleicht dein replace() noch entschärfen?
Live long and pros healthy,
Martin
Home is where my beer is.