Thread Kaufmännisch korrekt runden (67 answers)
Opened by bianca at 2009-12-11 07:14

bianca
 2009-12-11 19:44
#129236 #129236
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
2009-12-11T18:35:22 pq
das mit dem vorzeichen machst du wahnsinnig kompliziert. wieso selber das minus abtrennen (und dann auch noch mit substr, aua, du bist echt substr und index fan...). einfach wenn $num < 0, 0.5 *abziehen*, wenn $num > 0, 0.5 *addieren*. ist doch ganz simpel.

Entschuldige bitte meine Dummheit. Manchmal hab ich halt ein Brett davor, daher frage ich ja hier nach.

2009-12-11T18:35:22 pq
ich möchte eine sub, die derart kompliziert und unnötigerweise mit substr jongliert, nicht mit meinem nickname verbunden sehn...

Sorry, dass ich Dich belästige. Das war nur für meine interne Sortierung.

Hab es mal etwas vereinfacht:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
sub neueloesung {
        my $num = shift (@_) || 0;
        my $stellen = shift (@_) || 0;
        my $rounded = '0';
        if ($stellen >= 0 && $stellen <= 9 && !($num =~ /[^-\.0-9]/)) {
                $rounded = int ($num * (10 ** $stellen) + ($num < 0 ? -0.5 : 0.5) ) / 10 ** $stellen;
        }
        return $rounded;
}


Testfälle sind alle sauber, super!
Vielen Dank!
10 print "Hallo"
20 goto 10

View full thread Kaufmännisch korrekt runden