Hi,
Nun bei $betragRund kommt zwar eine Zahl mit zwei
Kommastellen - wie gewollt - aber diese sind immer
Null.
$betragRund = sprintf("%.2f", $betrag);
nicht das Runden geht bei Dir schief, sondern m. E.
schon die Berechnung von $betrag:
$ergebnis = $betragRund / $eurokurs;
Laß Dir mal ausgeben, was an dieser Stelle in $ergebnis
steht.
Als KonsolenScript funktioniert die Kürzung.
Das glaube ich nicht.
Also hier das KonsolenScript, bei mir funktionierts - mal abgesehen, dass ich $betrag = ? habe, wenn ich über <stdin> nichts eingebe, was meinst Du?:
Viele Grüße
Thomas N
__________________________________________________________________
#!/usr/bin/perl -w
use strict;
my($betrag, $wahl, $eurokurs, $ergebnis, $betragR, $ergebnisRund);
$eurokurs = 1.95583;
print "Geben Sie den umzurechnenden Betrag ein:\n";
$betrag = <stdin>;
chomp($betrag);
$betrag =~ s/,/./;
$betragR = sprintf("%.2f", $betrag);
print "DM <=> Euro (1)?\n";
print "Euro <=> DM (2)?\n";
print "Ihre Wahl? :\n";
$wahl = <stdin>;
chomp($wahl);
if ($wahl == 1)
{
$ergebnis = $betragR / $eurokurs;
$ergebnisRund = sprintf("%.2f", $ergebnis);
print $betragR;
print " DM sind ";
print $ergebnisRund;
print " Euro\n";
}
elsif ($wahl == 2)
{
$ergebnis = $betragR * $eurokurs;
$ergebnisRund = sprintf("%.2f", $ergebnis);
print $betragR, " Euro sind ", $ergebnisRund, " DM.\n";
}
else
{
print "Die Wahlmoeglichkeit '", $wahl, "' existiert nicht!\n";
}