Hallo!
Schuster bleib bei deinen Sohlen, sagte man mal seiner Zeit...
Nun bei $betragRund kommt zwar eine Zahl mit zwei Kommastellen - wie gewollt - aber diese sind immer Null.
$betragRund = sprintf("%.2f", $betrag);
Als KonsolenScript funktioniert die Kürzung.
Benutze ich printf verrutscht in meiner HTML-Ausgabe eine Zahl links oben in die Ecke und mein
$betragRund ist einfach immer nur eins.
Übrigens, ich bin Programmieranfänger und eigentlich ziemlich stolz, dass ich mit diesen doofen Programmierbüchern
überhaupt soweit gekommen bin!
Guts Nächtle.
Thomas N
-----------------------------------------
Das Script:
use strict;
use CGI qw(:standard);
my($betrag, $wahl, $ergebnis, $eurokurs, $ergebnis, $betragRund, $ergebnisRund);
my $betrag = param('betrag');
$wahl = param('devisen');
$betragRund = sprintf("%.2f", $betrag);
$eurokurs = 1.95583;
#regulärer Ausdruck (,) wird durch (.) ersetzt.
$betrag =~ s/,/./;
if ($wahl == 1)
{
$ergebnis = $betragRund / $eurokurs;
#reduzieren der Nachkomma-Stellen auf zwei.
$ergebnisRund = sprintf("%.2f", $ergebnis);
print qq|
<HTML>
<HEAD>
<TITLE>15702_5</TITLE>
</HEAD>
<BODY><div align="center"><h1>Umrechnung:</h1>
<hr noshade size="1" width=200>
<table border="0" cellspacing="0" cellpadding="10" bgcolor="#EFEFEF">
<tr><td>$betragRund DM sind: <b>$ergebnisRund Euro</b></td></tr></table>
</div></BODY></HTML>
|;
}
elsif($wahl == 2)
{
$ergebnis = $betrag * $eurokurs;
$ergebnisRund = sprintf("%.2f", $ergebnis);
print qq|
<HTML>
<HEAD>
<TITLE>15702_5</TITLE>
</HEAD>
<BODY><div align="center"><h1>Umrechnung:</h1>
<hr noshade size="1" width=200>
<table border="0" cellspacing="0" cellpadding="10" bgcolor="#EFEFEF">
<tr><td>$betragRund Euro sind: <b>$ergebnisRund DM</b></td></tr></table>
</div></BODY></HTML>
|;
}
else
{
print header;
print start_html('Error');
print h1('Die Wahlmoeglichkeit existiert nicht, bitte wälen Sie eine Umrechnungsart aus!');
print end_html;
}