Zahl in Preis konvertieren
Robert21
- javascript
Hi!
Ich hab einen JS Code der eine Zahl als Preis ausgibt, die funktioniert zu 95%, nur bei einem Fall wie z.B. 19.90 funktionierts nicht, was muss ich denn da noch ändern?
(ich kenn mich mit js leider gaaar ncith aus, bin eigentlich php programmierer)
// Preis kaufmännisch auf 2 Stellen mit Komma runden
price = (Math.round(price * 100) / 100).toString();
price += (price.indexOf('.') == -1)? '.00' : '';
price = price.substring(0, price.indexOf('.')) + ',' + price.substring(price.indexOf('.')+1, price.indexOf('.')+3);
Vielen Dank!
Robert
Hi,
Ich hab einen JS Code der eine Zahl als Preis ausgibt, die funktioniert zu 95%, nur bei einem Fall wie z.B. 19.90 funktionierts nicht, was muss ich denn da noch ändern?
Die Problembeschreibung, denn sie glänzt derzeit durch vollkommene Abwesenheit.
(Obwohl ich natürlich *vermuten* könnte, dass dir eine Null "fehlt", und du diese deshalb anfügen möchtest.)
MfG ChrisB
Hallo,
Ich hab einen JS Code der eine Zahl als Preis ausgibt, die funktioniert zu 95%, nur bei einem Fall wie z.B. 19.90 funktionierts nicht, was muss ich denn da noch ändern?
zunächst mal erklären, *was* nicht funktioniert. Bekommst du falsche Werte (Rundungsfehler)? Mehr Ansatzpunkte gibt meine Glaskugel gerade nicht her, obwohl ich sie heute poliert habe.
So long,
Martin
*schäm*
hoppla, die fehlerbeschreibung hab ich mir wohl nur gedacht, aber ncith geschrieben :-/
Es gibt bei 19.00 den String "19,9" anstatt "19,90" zurück.
lg
Robert
@@Robert21:
Es gibt bei 19.00 den String "19,9" anstatt "19,90" zurück.
Und was verblüfft dich daran?
»» »»
price += (price.indexOf('.') == -1)? '.00' : '';
Du hängst beim Wert 19 '.00' an. Beim Wert 19.9 hängst du nichts an. Wo sollte die Null am Ende denn herkommen?
Damit du dich da nicht weiter in den unnötigen Stringoperationen verrennst, wollte ich dich noch auf eine geeignetere Funktion hinweisen, aber Encoder war schneller.
Live long and prosper,
Gunnar
@@Der Martin:
Mehr Ansatzpunkte gibt meine Glaskugel gerade nicht her, obwohl ich sie heute poliert habe.
Haste denn auch das gute Ajax dafür genommen?
Live long and prosper,
Gunnar
PS: Oops, den hatten wir schon.
Hallo Gunnar,
»» Mehr Ansatzpunkte gibt meine Glaskugel gerade nicht her, obwohl ich sie heute poliert habe.
Haste denn auch das gute Ajax dafür genommen?
an meine Glaskugel lasse ich nur Wasser und CD.
PS: Oops, den hatten wir schon.
Ja, ich entsinne mich. Trotzdem nett. :-)
So long,
Martin
Ein Preis ist auch eine Zahl. Ich sehe zwar nicht genau was überhaupt dein problem ist, aber ich denke du suchst eine Formatierungsfunktion zur Konvertierung einer Zahl in einen String, der man die Anzahl an Nachkommastellen angeben kann?
Guck mal http://de.selfhtml.org/javascript/objekte/number.htm@title=hier
thx, passt!
lg
Robert