Ist eine Zahl z.B. -0.002, und wird auf 2 Stellen gerundet, so wird erst
das Minuszeichen gemerkt, dann gerundet (0.00), und schießlich wird das
Minus wieder hinzugefügt, dadurch bekommt man -0.00. Mit diesem Patch
wird das Minus-Zeichen entfernt wenn die gerundete Zahl genau 0 ergibt.
my $force_places = defined $places && $places >= 0;
$amount = $self->round_amount($amount, abs $places) if $force_places;
+ $neg = 0 if $amount == 0; # don't show negative zero
$amount = sprintf "%.*f", ($force_places ? $places : 10), abs $amount; # 6 is default for %fa
# before the sprintf amount was a number, afterwards it's a string. because of the dynamic nature of perl
is($::form->format_amount($config, 10, 0), '10', 'autotrim does not harm integers 4');
is($::form->format_amount($config, 0, 0), '0' , 'trivial zero');
+is($::form->format_amount($config, -0.002, 2), '0,00' , 'negative zero');
+is($::form->format_amount($config, -0.002, 3), '-0,002' , 'negative zero');
# dash stuff