Hallo Sven,
Aloha!
es muß schon sehr spät gewesen sein. Mal ein kleiner Test:
Die Uhrzeit des Postings entspricht genau meiner lokalen Uhrzeit. :)
eingabe="1" -> ausgabe=10. Das Script solltest Du möglichst nicht an ein Geldinstitut weitergeben.
Doch, und zwar an meines! :)
PS: Zur Zulassung zum Wettbewerb "kürzeste Lösung für Nachkommastellenproblematik in JS" müssen folgende Kriterien erfüllt sein: Script muß gleichermaßen bei Eingabe als Zahl/String funktionieren und Ergebnis muß gerundet sein, d.h. nicht nur die überzähligen Stellen abschneiden. Ich hoffe auf einen weiteren Vorschlag.
Ok, mal sehen, was ist dann noch tun kann:
ausgabe = String(parseInt(Math.round(eingabe * 100)));
ausgabe = (ausgabe=="0"?"0.00":ausgabe.substring(0,ausgabe.length-2)+"."+ausgabe.substring(ausgabe.length-2,ausgabe.length));
Funktioniert mit allen Zahlenwerten, egal ob positiv oder negativ, hat keine Rundungsfehler beim Zurück-Teilen, immer zwei Nachkommastellen, kann mit Strings, Integern, Floats und Null umgehen und liefert einen schönen String zurück. Kürzer würde nur gehen, indem man auf das Zwischenspeichern der Zwischenergebnisses verzichtet - man berechnet dann aber ziemlich viel unnütz doppelt und dreifach.
- Sven Rautenberg