Beitrag von Thomas Fleißner (92 Beiträge) am Dienstag, 20.Dezember.2005, 13:55.
@Experten - Rechenergebnis falsch
Hi Hab folgendes prob:
Bei script:
<perl>
get "Id==*","provision";
while (get_next("provision"))
{
$arbeiterliste{$Verkaeufer}++;
}
foreach $verk (sort keys %arbeiterliste)
{
$Umsatz="0";
$WES="0";
$Bruttogewinn="0";
$Provision="0";
#chop $verk;
get "Verkaeufer==$verk","provision","danach";
while (get_next("danach"))
{
$Umsatz=$Umsatz+$ZwischensBNto+$ZubehoersummNto;
$WES=$WES+$Inventurwert;
$Provision=$Provision+$VkfProvFahrz+$VkfProvZubeh;
out "$Umsatz= $ZwischensBNto - $Verkaeufer<br>";
}
$Bruttogewinn=$Umsatz-$WES;
out "Bruttogewinn = Umsatz-WES<br>$Bruttogewinn=$Umsatz-$WES<br><br>";
}
</perl>
Testlink: http://de2.mwpartner.com/cgi-bin/baseportal.pl?htx=/mwpartner.com/meisinger/provision/test
############## Ergebnis zb:
Bruttogewinn = Umsatz-WES
60072.6199999996=868853.36-808780.74
Seit wann ergibt 868853.36-808780.74
ein Ergebniss mit so vielen dezimalzahlen!!!!????
60072.6199999996
Lg
Thomas
Antworten
Beitrag von Thomas Fleißner (92 Beiträge) am Dienstag, 20.Dezember.2005, 14:02.
Re: @Experten - Rechenergebnis falsch
Habe ums einzuschränken auf:
<perl>
get "Verkaeufer==Ferstl","provision","danach";
while (get_next("danach"))
{
$Umsatz=$Umsatz+$ZwischensBNto+$ZubehoersummNto;
$WES=$WES+$Inventurwert;
$Provision=$Provision+$VkfProvFahrz+$VkfProvZubeh;
}
$Bruttogewinn=$Umsatz-$WES;
out "Bruttogewinn = Umsatz-WES<br>$Bruttogewinn=$Umsatz-$WES<br><br>";
</perl>
umgeschrieben.
Gleiche Prob!
Antworten
Beitrag von hempelr (1976 Beiträge) am Dienstag, 20.Dezember.2005, 14:34.
Re: @Experten - Rechenergebnis falsch
in Perl immer ;-)
Nee - Spass beiseite, hat was mit den Ungenauigkeiten der Typenumwandlung in Perl zu tun. Immerhin ist der Fehler ja nur 0,000000004%m also effektiv vernachlässigbar.
Auf zwei Kommastellen formatiert stimmts dann ja wieder.
Wenn du tatsächlich so genaue Werte für deine Provisionen brauchst, ist die Einbindung des Perl-Modules math zu empfehlen, da rechnets dann richtiger. (s.a. unter http://de.selfhtml.org/perl/sprache/zahlen.htm )
Antworten
Beitrag von Thomas Fleißner (92 Beiträge) am Dienstag, 20.Dezember.2005, 14:44.
Re: @Experten - Rechenergebnis falsch
Antworten
Beitrag von hempelr (1976 Beiträge) am Dienstag, 20.Dezember.2005, 14:55.
Re: @Experten - Rechenergebnis falsch
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 20.Dezember.2005, 14:56.
Re: @Experten - Rechenergebnis falsch
da warst Du einen Tick schneller;-))
Antworten
Beitrag von Thomas Fleißner (92 Beiträge) am Dienstag, 20.Dezember.2005, 14:59.
Re: @Experten - Rechenergebnis falsch
Und wie runden das sprintf?
bei
0.57999995 auf und bei
0,58000001 ab???
Falls nicht- dann wirds mit leider zu ungenau!
Lg
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 20.Dezember.2005, 15:07.
Re: @Experten - Rechenergebnis falsch
Pfennigfuchser;-))
$MwSt=0.57999995;
$MwSt = sprintf('%.02f',$MwSt);
$VoSt=0,58000001;
$VoSt = sprintf('%.02f',$VoSt);
out" $VoSt,$MwSt";
Dann siehst Du das schon;-)
Gruß
claus
Antworten
Beitrag von Thomas Fleißner (92 Beiträge) am Dienstag, 20.Dezember.2005, 15:11.
Re: @Experten - Rechenergebnis falsch
Hehe!!
Probieren geht über studieren!!!!
*fg*
Vielen Dank!
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 20.Dezember.2005, 14:56.
Re: @Experten - Rechenergebnis falsch
Antworten