Rolf B: Berechnungen mit JavaScript

Beitrag lesen

problematische Seite

Hallo Dino-BBG,

ein paar Grundsatzhinweise zu JavaScript. Das Problem dürfte aber anderswo liegen, siehe weiter unter.

  • Variablen sollte man analog zu den Symbolen in seiner Formelsammlung benennen ODER vor jede Variablenzuweisung einen Kommentar setzen, der kurz angibt, was hier gespeichert ist. Das würde einem Helfer das Leben sehr erleichtern.
  • Verwende keine magischen Konstanten. Außer var gibt es in JavaScript auch die Anweisung const, mit der sich benannte Konstanten erstellen lassen. Bei der 12 würde ich keine Konstante erzeugen, bei 11,79 und 0,29 (lz) schon, und statt 1,029 sollte dann 1 + lz geschrieben werden.
  • Vielleicht wäre es auch besser, die Nettoquadratmetermiete und den Liegenschaftszins als Eingabe bereitzustellen. Dabei musst Du aufpassen, du musst bei Dezimalwerten einen Dezimalpunkt eingeben, oder vorher mit der replace-Methode Kommas in Punkte umwandeln, bevor Du den String mit parseFloat in eine Fließkommazahl umwandelst
  • Numerische Eingaben sollte man vor der Verarbeitung mit parseInt oder parseFloat in Zahlen umwandeln. Und man sollte sie eigentlich auch vorher validieren. Ist das eine Zahl, ist sie positiv?
  • Lerne debuggen. Entweder mit console.log(), oder mit dem Sourcecode-Debugger der Entwicklerwerkzeuge im Browser. So kannst Du jeden Teilschritt der Rechnung überprüfen
  • Liefere Testdaten. Welche Eingaben machst Du, welche Ausgabe erwartest Du? Da Du das EW-Verfahren erläutert hast, gehst Du ja davon aus, dass das Verfahren hier nicht bekannt ist (zu Recht).

Und dann:

  • Liefere Quellen. Woher kommt die Formel? Hast Du die selbst zusammengestellt oder ist die aus einem Lehrbuch? In der Wikipedia steht sie nicht, da findet sich nur Text.

Aber ich habe einmal gegoogelt und das hier gefunden. Das kann ich Schritt für Schritt nachvollziehen und komme damit auf deine erste Formel. Die zweite Formel ergibt sich aus der ersten durch rein algebraische Umstellung und sollte daher den gleichen Wert liefern.

Was mir auffällt:

  • Du hast den Bodenrichtwert als Eingabe und multiplizierst ihn mit der Wohnfläche. Dieser Wert ist sinnlos. Der Bodenrichtwert ist der Grundstückspreis pro Quadratmeter, den musst du mit der Grundstücksfläche multiplizieren, um den Bodenwert zu erhalten. Im Bergfürstbeispiel sind Wohnfläche und Grundstücksfläche gleich, aber nicht jeder hat einen Bauwi(s)ch von 0 oder baut einen Turm mit 5 Geschossen. Bei meinem Haus ist die Grundfläche das 2,5-fache der Wohnfläche.
  • Die Bewirtschaftungskosten gibst Du ein. Bei Bergfürst steht, man könne sie mit 25% des Jahresrohertrags ansetzen. Dementsprechend müsste also deine Werteingabe sein. Lag deine Eingabe in dieser Größenordnung?
  • Du rechnest mit Liegenschaftszinsen von 29%. Das ist immens. Ist das tatsächlich dein örtlicher LZ? Bergfürst verwendet 5%.

Rolf

--
sumpsi - posui - obstruxi