Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

How to round and keep floating digits

by juo (Curate)
on Oct 09, 2002 at 21:03 UTC ( #204052=perlquestion: print w/ replies, xml ) Need Help??
juo has asked for the wisdom of the Perl Monks concerning the following question:

Does anybody know how to perform roundings but at the same time convert integers to float using the rounding parameters. I have been using Math::Round for that purpose however it does not add zeroes. See example below.

#!/perl/bin -w use strict; use Math::Round; # Not standard with Perl delivered my @number = qw(3 3.555 3.222334 3.4 1 0); for my $float(@number) { $float = nearest(.001, $float); print "$float\n"; } __END__ Result of Math::Round 3 3.555 3.222 3.4 1 0 This is what I want to get 3.000 3.555 3.222 3.400 1.000 0.000

Comment on How to round and keep floating digits
Download Code
Re: How to round and keep floating digits
by Zaxo (Archbishop) on Oct 09, 2002 at 21:16 UTC

    You want printf or sprintf:

    my @number = qw(3 3.555 3.222334 3.4 1 0); for my $float(@number) { $float = nearest(.001, $float); printf "%.3f\n", $float; }

    After Compline,
    Zaxo

Re: How to round and keep floating digits
by BrowserUk (Pope) on Oct 09, 2002 at 21:18 UTC

    Use printf "%5.3f\n", $float;



    Cor! Like yer ring! ... HALO dammit! ... 'Ave it yer way! Hal-lo, Mister la-de-da. ... Like yer ring!
      the following worked with perl, no need to use bash printf ("\n \t Pass Percentage = %0.2f %\n",$float); -Prasad

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://204052]
Approved by VSarkiss
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2014-12-21 13:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (105 votes), past polls