Hallo
Ich habe schon wieder ein Problem:
Ich möchte 10% von Warenwert ohne Kommastellen ermitteln.
<!--spmacro:module(bonus)
sub bonuspunkt {
my $index = $_[0];
my $bp = main::fp(ssp::get_var_db("PRICE",$index)/1000); ## gibt 10% vom Warenwert mit 2 Kommastellen aus
my $zahl = int($bp); ## "int" sollte die Kommastellen entfernen - tut es aber nicht - Ausgabe = 0
main::mprint($zahl);
}
-->
Ausgabe mit __bonus::bonuspunkt__
<!--spmacro:module(bonus)
sub bonuspunkt {
my $index = $_[0];
my $bp = main::fp(ssp::get_var_db("PRICE",$index)/1000);
my $zahl = ($bp); ##oder my $zahl = $bp;
main::mprint(int($zahl));
}
-->
und auchmit my $index = $_[0];
my $bp = main::fp(ssp::get_var_db("PRICE",$index)/1000);
main::mprint(int($bp));
das selbe Ergebnis
Bin mit meiner neu erworbenen Perl-Weisheit schon wieder am Ende, bevor ich noch richtig angefangen habe :'(
Hallo Woll-Insel,
die Funktion main::fp() gibt den Preis formatiert inkl.Währung aus.
Die Funktion int() kann aber nur mit rein numerischen Werten arbeiten,
Deshalb main::fp() Funktion erst zum Schluß verwenden, wenn ein Währungsbetrag ausgegeben werden soll.
Also z.B. so:
<!--spmacro:module(bonus)
sub bonuspunkt {
my $index = $_[0];
my $bp = ssp::get_var_db("PRICE",$index)/1000; ## gibt 10% vom Warenwert mit 2 Kommastellen aus
my $zahl = main::fp(int($bp)); ## "int" sollte die Kommastellen entfernen - tut es aber nicht - Ausgabe = 0
main::mprint($zahl);
}
-->
Gruss hop
Danke für den Hinweis Zitatdie Funktion main::fp() gibt den Preis formatiert inkl.Währung aus.
Für meine Idee brauche ich aber nur eine Zahl (ohne Währung und ,00)
- ich muß also das "main::fp" überhaupt weglassen
so gehts
<!--spmacro:module(bonus)
sub bonuspunkt {
my $index = $_[0];
my $bp = ssp::get_var_db("PRICE",$index)/1000;
main::mprint(int($bp));
}
-->
wieder ein bißchen dazugelernt (http://www.woll-insel.at/Bilder/Daumen_hoch.gif) - Danke