Wie kann ich einen Wert in euro anzeigen lassen also 1,00 €
Ralph2201
- javascript
0 ChrisB0 Wouzhuo
Hallo,
ich bin Anfänger und habe ein kleines Problem das sicher sehr einfach zu lösen ist,aber ich sitze nun schon 3,5 Stunden dran und versuche und lese aber nichts klappt.
Und zwar möchte ich eine Variable in Euro ausgeben mit zwei Stellen nach dem Komma. Egal ob der Wert 3,4,5 stellen hinter dem Komma hat oder auch keine !
Kann mir bitte jemand helfen oder mir sagen wo ich das genau nachlesen kann ?
danke !
Hier mal mein Code, die variable f soll als Euro angezeigt werden !
<script language="JavaScript">
function Rechnen(){
var a = document.form.kw.value;
var b = document.form.leck.value;
var c = document.form.preis.value;
var d = document.form.stunden.value;
var e = document.form.wochenende.value;
var error = 0;
if (!a.match(/^\d+([,\.]\d+)?$/)) {error++;}
if (!b.match(/^\d+([,\.]\d+)?$/)) {error++;}
if (!c.match(/^\d+([,\.]\d+)?$/)) {error++;}
if (error == 0)
{
a = a.replace(',', '.');
b = b.replace(',', '.');
c = c.replace(',', '.');
}
a = parseFloat(a);
b = parseFloat(b);
c = parseFloat(c);
d = parseFloat(d);
e = parseFloat(e);
var f = a*10*(b/100)*c*d*e;
document.form.gespart.value = f;
}
</script>
Hi,
Und zwar möchte ich eine Variable in Euro ausgeben mit zwei Stellen nach dem Komma. Egal ob der Wert 3,4,5 stellen hinter dem Komma hat oder auch keine !
Kann mir bitte jemand helfen oder mir sagen wo ich das genau nachlesen kann ?
Da du etwas mit einem Wert vom Typ Number machen willst - wohl am ehesten in der Beschreibung von Number.
MfG ChrisB
Danke Chris,
ich habe echt schon über 3 Stunden probiert und gesucht !
Jetzt habe ich das Problem dank dir in 5 Minuten gelöst!
Ist manchmal echt verrückt !
nochmal Danke
Ralph
@@Ralph2201:
nuqneH
ich habe echt schon über 3 Stunden probiert und gesucht !
Jetzt habe ich das Problem dank dir in 5 Minuten gelöst!
Ist manchmal echt verrückt !
Qapla'
function Rechnen(){
var a = document.form.kw.value;
var b = document.form.leck.value;
var c = document.form.preis.value;
var d = document.form.stunden.value;
var e = document.form.wochenende.value;var error = 0;
if (!a.match(/^\d+([,.]\d+)?$/)) {error++;}
if (!b.match(/^\d+([,.]\d+)?$/)) {error++;}
if (!c.match(/^\d+([,.]\d+)?$/)) {error++;}
//...
Möglich, aber nicht elegant.
An alle, die sich mit Javascript etwas besser auskennen: gibt es ne Möglichkeit, einen String in eine Zahl umwandeln zu lassen, wobei die umwandelnde Funktion eine Exception rauswirft, die man abfangen kann?
Hi,
if (!a.match(/^\d+([,.]\d+)?$/)) {error++;}
Möglich, aber nicht elegant.
Möglicherweise nicht elegant, aber trotzdem angebracht.
An alle, die sich mit Javascript etwas besser auskennen: gibt es ne Möglichkeit, einen String in eine Zahl umwandeln zu lassen, wobei die umwandelnde Funktion eine Exception rauswirft, die man abfangen kann?
Das weiter untem im Script angewendete parseFloat liefert den Rückgabewert NaN, den man abfragen kann.
Es wirft aber keine „Exception“, und es liefert auch nur NaN, wenn sich das übergebene „gar nicht“ als Zahl interpretieren lässt. Beginnt es bspw. mit einer gültigen Zahl, gefolgt von Buchstaben o.ä. - dann liefert es immer noch die entsprechende Zahl.
"123,456.789", wie es vielleicht ein amerikanischer Nutzer in einem Textfeld eingeben würde, wird von parseFloat kommentarlos zu einer 123 gemacht - das dürfte idR. nicht das Verhalten sein, was man von einem robusten Script möchte.
Die vorherige Prüfung per regulärem Ausdruck erscheint mir also alles andere als verkehrt, egal ob „elegant“ oder nicht.
Wer die entsprechenden Zeilen nicht zig-mal im Script stehen haben möchte, der kann sich ja eine eigene Methode dafür basteln - bspw. prototypisch an String angehängt.
Wenn die Format-Prüfung dann negativ ausfällt, kann diese Methode dann auch gerne einen Fehler erzeugen, mittels throw new Error(...)
MfG ChrisB
@@ChrisB:
nuqneH
"123,456.789", wie es vielleicht ein amerikanischer Nutzer in einem Textfeld eingeben würde, wird von parseFloat kommentarlos zu einer 123 gemacht - das dürfte idR. nicht das Verhalten sein, was man von einem robusten Script möchte.
Hm, was möchte man denn?
123.456?
123.456789?
123456.789?
Oder lieber gar keinen Wert und den Nutzer zu einer erneuten Eingabe bewegen, die sich eindeutig interpretieren lässt?
Qapla'
Hi,
Oder lieber gar keinen Wert und den Nutzer zu einer erneuten Eingabe bewegen, die sich eindeutig interpretieren lässt?
Möglicherweise ja - Wouzhuo fraget ja auch nach einem Zahlen-Parser, der ggf. Exceptions wirft.
MfG ChrisB
Hi,
Oder lieber gar keinen Wert und den Nutzer zu einer erneuten Eingabe bewegen, die sich eindeutig interpretieren lässt?
Möglicherweise ja - Wouzhuo fraget ja auch nach einem Zahlen-Parser, der ggf. Exceptions wirft.
Ich dachte es gäbe da vielleicht einen etwas strengeren oder simpleren Parser. Wenn man natürlich auch Zahlen wie "123'456.273e-42" interpretieren will, gehts nicht so einfach.