Hi,
Ich lese Zahlenwerte aus Textdateien ...
nein, du liest Strings aus Textdateien. Und der Unterschied zwischen Strings und Zahlenwerten ist auch dein Problem.
Da Preis1 Nachkommastellen beinhaltet, Preis2 hingegen nicht, wandle ich Preis2 zunächst in eine Fließkommazahl um und setze die Anzahl der Nachkommastellen auf zwei:
Preis2 = parseFloat(Preis2);
Preis2 = Preis2.toFixed(2);
Die toFixed-Methode wandelt den Zahlenwert wieder in einen String, der die ausgeschriebene Repräsentation des ursprünglichen Zahlenwerts enthält, also zum Beispiel "7.00". Preis2 ist also wieder ein String. Und wozu das? Die Anwendung von parseFloat() war völlig okay, um aus der ursprünglich als String vorliegenden Information den Zahlenwert zu gewinnen. Mehr braucht's an der Stelle nicht.
> Anschliessend ermittle ich die Summe
Nein. ;-)
> `Preis = Preis1 + Preis2;`{:.language-javascript}
Wie du Preis1 ermittelt hast, zeigst du nicht. Aber vermutlich ist Preis1 ebenso ein String wie Preis2. Das Pluszeichen ist in diesem Fall der Operator für die Stringverkettung.
> und ersetze den Punkt durch ein Komma:
> `Preis = Preis.replace(/\./, ",");`{:.language-javascript}
Warum das?
> Ich komme nicht dahinter, wo der Fehler liegt.
Achte darauf, dass du beide Zahlen wirklich als Zahl vorliegen hast und nicht als Strings.
Ciao,
Martin
--
F: Was ist wichtiger: Die Sonne oder der Mond?
A: Der Mond. Denn er scheint nachts. Die Sonne dagegen scheint tagsüber, wenn es sowieso hell ist.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(