Thread Kaufm. Runden (34 answers)
Opened by mikdoe at 2009-07-06 16:35

Gast MatthiasW
 2009-07-08 07:43
#122948 #122948
2009-07-06T14:35:01 mikdoe
Irgendwie raff ich es nicht.

Code: (dl )
1
2
3
4
use Math::BigFloat;
my $wert = Math::BigFloat->new(0.045);
my $gerundet = $wert->fround(2);
print "Gerundet: >$gerundet<\n";


Bringt leider NICHT 0.05 wie ich es gern hätte.
Was mache ich falsch? Sehe gerade den Wald vor lauter Bäumen nicht mehr.

Danke und Grüße

Wie pq's Post andeutet, solltest du mal einen Blick in die Dokumentation von Math::BigFloat werfen... Da findest du nämlich eine Sektion 'Rounding', die dich auf die ffround(-$scale,$mode) Methode hinweist:
Code (perl): (dl )
1
2
3
my $z = Math::BigFloat->new('0.045');
$z->ffround(-2,'common');
print $z->bstr;

Liefert jedenfalls bei mir 0.05. Und auch 0.57 * 100 ergibt 57, wenn ich es mit Math::BigFloat berechne:
Code (perl): (dl )
1
2
3
my $z = Math::BigFloat->new('0.57');
$z->bmul(100);
print $z->bstr;

MfG

View full thread Kaufm. Runden