Domino 9 und frühere Versionen > ND6: Entwicklung

Java Sript Multiplikation mit z. B. 1.45"

<< < (2/4) > >>

Marinero Atlántico:
Normlerweise castet JavaScript die Daten richtig in den entsprechenden Typ. Du kannst aber mal einen expliziten Cast versuchen. Ich glaube das sähe so aus:

--- Code: ---document.forms[0].EurLamph.value = Cdouble(document.forms[0].Lamph.value) * Cdouble(document.forms[0].localFactor.value) ;

--- Ende Code ---
Danach mußt du aber noch das ungenaue Fliesskomma-Ergebnis auf 2 Stellen hinter KOmma runden.

koehlerbv:
Genau dieses Casting brachte mich auf den Gedanken mit dem ggf. falschen Feldtyp. Wird gecastet, ist
5 * "2" = 10

5 * "2,45" führt aber zu einem Fehler, da statt Komma ein Pinkt erwwartet (irgendwo ist ja Schluss mit lustig - äh, casting).

Warten wir mal ab, was Miss entertainer dazu schreibt. Nur sie hat die Fakten ...

Bernhard

Marinero Atlántico:
Mit Punkt geht es:

--- Code: ---<html>
<script>
simpleMath1 = 2.45 * 2;
alert ("simpleMath1=" + simpleMath1);
simpleMath2 = "2.45" * "2";
alert ("simpleMath2=" + simpleMath2);

</script>
</html>

--- Ende Code ---

koehlerbv:
Logisch geht es mit dem Punkt, Axel. Davon reden wir doch die ganze Zeit.
Die Frage ist doch: Wie kommt (eventuell) das Komma da rein ? Nicht durch ein Zahlenfeld - daher auch meine Vermutung: Der Wert kommt aus einem Textfeld (generell übel in diesem Zusammenhang).

Bernhard

Marinero Atlántico:

--- Zitat von: entertainer1105 am 20.04.05 - 17:04:36 ---
    // In diesem Wert steht z. Zt. die 1,45


--- Ende Zitat ---
Die Entertainerin hat ihn da eingetragen.
Der Witz scheint zu sein: JavaScript ist hinsichtlich des fractional separators nicht internationalisiert. Angeblich ist das für eine Webbrowser-Scriptsprache unsinnig, weil was so gelten --> der locale des Browsers, des Webservers? So ganz sehe ich das nicht sein, aber ich kann das mal bei Eric Pascarello im Javascript Forum posten.
Ein LotusNotes Client weiss ja, wie er das an die Länderversion anpasst. In Java gibt es da auch Unterstützung mit Locale und RessourceBundle. Sicherlich in jeder moderneren Programmierumgebung.
Ein Hack wäre wohl (nicht getestet) per JavaScript String-Funktionen das , in einen Punkt ersetzen und dann parseDouble(derGeaenderteWert)

Vorschläge:
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=20&t=001996

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln