Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Ergebnis ohne 0 vor dem KOmma





Frage

Bei meinem ersten Javascriptprogramm (kleines Berechnungsprogramm)wird das Ergebnis im IE 5.0 als z.B. 0.0184 dargestellt und im Netscape 4.7 jedoch als .0184 Gibt es im Netscape auch eine Möglichkeit eine 0 vor dem Komma anzeigen zu lassen? Danke für eure Mithilfe

Antwort 1 von René

Hallo Juliane!

Ich habe mich mal kurz mit Deinem Problem beschäftigt. Netscape zeigt keine 0 vor dem Komma wenn die erste Zahl nach dem Komma ungleich 0 ist. Also bei Deinem Beispiel müßte eine 0 vor dem Komma stehen. Für den anderen Fall habe ich ein kleines Beispielscript geschrieben:

<html>
<title>Null</title>
<head>
<script language="JavaScript">
function komma()
{
var zahl= 2/5;
var str= zahl.toString();
if(navigator.appName.substring(0,8)=="Netscape" && str.substring(1,3)!=".0")
{
var p0= str.indexOf(0);
if(p0==-1){
p0=0;}
zahl= p0+str;
}
alert(zahl);
}
</script>
</head>
<body onload="komma()">
</body>
</html>

Wenn Du nun den Netscape Browser benutzt wird eine 0 an die Leerstelle gesetzt. Dies war aber nur möglich wenn ich die Zahl vorher in eine Zeichenkette (String) umkonvertiere - für den Fall, daß also die erste Zahl hinter dem Komma keine 0 ist, ist Dein Ergebnis eine Zeichenkette mit der Du leider nicht weiterrechnen kannst (z.B.: Du rechnest: 0.4 (die Zeichenkette) + 0.03 (eine Zahl) so erhältst Du als Ergebnis 0.40.03). Du mußt das Ergebnis also wieder zu einer Zahl rückkonvertieren, aber dann wird in Netscape aus 0.4 wieder .4 - ganz schön blöd oder? Die Zeichenkette sollte also möglichst Dein Endergebnis sein, mit dem Du nicht weiterrechnest.
Vielleicht gibt es ja auch eine andere Möglichkeit - da ich aber nur mit dem IE arbeite kenne ich mich da nicht allzu genau aus.

MfG
René