Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
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 meditating upon the Monastery: (8)
As of 2014-08-01 01:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (256 votes), past polls