Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^4: accurately rounding numbers for percentages

by derekn (Initiate)
on Aug 03, 2009 at 01:57 UTC ( #785325=note: print w/ replies, xml ) Need Help??


in reply to Re^3: accurately rounding numbers for percentages
in thread accurately rounding numbers for percentages

Hmm, I don't know that I made myself clear, so I will go into more detail to make sure we are on the same page. The users vote for which search engine they used to find site. (Google, Yahoo, Bing) The votes are stored in database as total votes for EACH search engine (Google=30,Yahoo=23,Bing=13) Then, I am figuring out the percentage of each search engine used by dividing by total number of votes ($searchEngine/$totalVotes*100) which of course does not always yield nice results. This number ($google,$yahoo,$bing) is then rounded. The problem of course is that sometimes the 3 different percentages don't add up to 100%. Derek


Comment on Re^4: accurately rounding numbers for percentages
Re^5: accurately rounding numbers for percentages
by Trimbach (Curate) on Aug 03, 2009 at 03:23 UTC
    So do what ww said and simply put a disclaimer about the numbers being rounded and not necessarily adding up to 100%.

    You can't introduce error to your numbers via rounding and then magically expect that error to disappear and have everything add up to 100 all the time. People are smart enough to understand rounding errors if you add a comment to that effect.

    Gary Blackburn
    Trained Killer

      Ok. This is my first time to ever post on this board, and I may not know as much as you all do, which is why I posted here in the first place, to seek others' greater knowledge so that I might learn from them. I'm sorry if I sounded like I didn't LIKE any answers, because I assure you that was not the case. I just wanted to make sure that I made myself clear, as I wasn't sure that I had. After the replies you have shared with me, I will go with disclaimer. Derek
        Derek,
        Thanks for this nice note. Welcome to perlmonks! I will now abstain from making some obscure reference to the pain of receiving enlightenment, and merely wish you a lovely day.

        --spazm

Re^5: accurately rounding numbers for percentages
by ww (Bishop) on Aug 03, 2009 at 04:13 UTC
    Your made yourself clear enough in the OP but you don't seem to like the answers (or won't understand them?).

    The numbers in your latest post, 30, 23, and 13, happen to be what I gather your mean by a "nice" case; that is, when calculated as percentages of their total and rounded, the percentages add up (nicely) to 100.

    Here's a case where the numbers are not "nice" and where a disclaimer is the only reasonable solution (fudging is NOT, IMO, reasonable):

    #!/usr/bin/perl use strict; use warnings; #785290 my $Google=30; my $Yahoo=23; my $Bing=12; my $sum=$Google + $Yahoo + $Bing; my $google_percent = $Google/$sum; print "G: $google_percent"; my $yahoo_percent = $Yahoo/$sum; print "\tY: $yahoo_percent"; my $bing_percent = $Bing/$sum; print "\tB: $bing_percent \n"; my $total = ($google_percent + $yahoo_percent + $bing_percent); my $roundedG = sprintf("%.2f", $google_percent); my $roundedY = sprintf("%.2f", $yahoo_percent); my $roundedB = sprintf("%.2f", $bing_percent); my $rounded = sprintf("%.2f", $total); print "Google: $roundedG; Yahoo: $roundedY; Bing: $roundedB; Total: $r +ounded \n"; printf ('%.0f', (($Google/$sum)*100)); print "%\n"; printf ('%.0f', (($Yahoo/$sum)*100)); print "%\n"; printf ('%.0f', (($Bing/$sum)*100)); print "%\n"; print $rounded*100 . "% (Percentages may not add up to 100 because of +rounding errors!)\n";

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (8)
As of 2014-08-29 20:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (288 votes), past polls