Thomas N: $betragRund = sprintf("%.2f", $betrag); bei CGI?

Beitrag lesen

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;
                }