Thread format_money() (16 answers)
Opened by kristian at 2011-08-23 20:48

kristian
 2011-08-23 22:28
#151775 #151775
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

der lieben Ordnung halber, wir haben uns am Ende wohl auf diese Version geeinigt:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sub format_money {
    my $self = shift;
    my $string = shift;
    my ($euro,$cent);
    
    if($string =~m/\./){
        ($euro,$cent) = split(/\./,$string);  
    }else{
        ($euro,$cent) = ($string,0);  
    }
       
    my $money = $self->format_num($euro) . ',' . sprintf("%.2d", $cent);
    return $money;
}
sub format_num {
    my $self = shift;
    my $num  = shift;
    $num =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1./g;
    return $num;    
}


Es geht ja hier auch um Perl und wir tragen die Fackel weiter für die Nachkommenden.

Gruß
Kristian

View full thread format_money()