[Vienna-pm] noch seltameres...

Peter J. Holzer hjp-vienna-pm-list at hjp.at
Thu Mar 30 07:35:18 PST 2006


On 2006-03-30 13:11:45 +0200, Carl A. Schreiber wrote:
> nimm doch 
> 	Math::Round;
> (ich hab alle anderen Versuche praktisch aufgegeben..)

Aber bitte nur, wenn Du genau weißt, was Du tust.


> use Math::Round qw(:all);
> 
> my $sValue    = 0.0001;
> my $rounded = nearest( 0.00001, $sValue*0.75 );
> 
> $sValue *= 0.75;
> $sValue = sprintf('%f',$sValue);
> 
> 
> printf("sVal: %.5f\n",$sValue);
> printf("sVal: %.5f\n",$sValue+1-1);
> printf("sVal: %.5f\n",$sValue*1);
> printf("sVal: %.5f\n",$sValue/1);
> 
> printf("rnd : %.5f\n",$rounded);
> printf("rnd : %.5f\n",$rounded+1-1);
> printf("rnd : %.5f\n",$rounded*1);
> printf("rnd : %.5f\n",$rounded/1);
> 
> das ergibt:
> 
> sVal: 0.00007
> sVal: 0.00008
> sVal: 0.00007
> sVal: 0.00007
> rnd : 0.00008
> rnd : 0.00008
> rnd : 0.00008
> rnd : 0.00008
> 
> ist doch weitaus vorhersehbarer ..

Aber ganz was anderes. $rounded ist (ungefähr) 0.00008, $sValue aber
(ungefähr) 0.000075. Dass da unterschiedliche Ergebnisse rauskommen,
wenn man die Zahlen druckt, ist wenig verwunderlich, schließlich sind
sie ja auch verschieden.

	hp

-- 
   _  | Peter J. Holzer    | Ich sehe nun ein, dass Computer wenig
|_|_) | Sysadmin WSR       | geeignet sind, um sich was zu merken.
| |   | hjp at hjp.at         |
__/   | http://www.hjp.at/ |	-- Holger Lembke in dan-am
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20060330/2d7ad24a/attachment-0001.bin


More information about the Vienna-pm mailing list