Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Using (s)printf()

by Anonymous Monk
on Aug 01, 2012 at 16:59 UTC ( #984833=note: print w/ replies, xml ) Need Help??


in reply to Using (s)printf()

Your statement and example under "Rounding Numbers with sprintf()" is incorrect and misleading. Using "%d" does NOT round a float as necessary, it merely truncates everything after the decimal. Thus, printf("%d", 3.99); # will print 3, not 4.

# To properly 'round a float as necessary': printf("%.0f", 3.49); # This will print 3 printf("%.0f", 3.51); # This will print 4


Comment on Re: Using (s)printf()
Select or Download Code
Re^2: Using (s)printf()
by Anonymous Monk on Oct 01, 2012 at 11:04 UTC

    Perl exhibits strange behaviour after moving from x32 to x64 platform:

    Before:

    # perl -e 'printf("%.2f", 6.685);' 6.68

    # perl -v This is perl, v5.10.1 (*) built for i386-linux-thread-multi

    After:

    # perl -e 'printf("%.2f", 6.685);' 6.69

    # perl -v This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

    Any changes in rounding algorithm?

        It looks like there is a problem with numeric.c: Perl_grok_number (Perl's own string-to-number conversion).

        Perl bugs tickets #115092, #41202

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (8)
As of 2015-07-07 09:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls