webForumDet fria alternativet
Logga in / Bli medlem

Det blir 101 procent ...

PHP

6 svar · 311 visningar · startad av D-M_R

Medlem sedan aug. 2002114 inlägg
Trådstart#1

Forum. Räknar ut procent kön.

$statsArray['num_users'] = Antal användare.
$statsArray['num_males'] = Antal män.
$statsArray['num_females'] = Antal kvinnor.
$statsArray['num_unknownSex'] = Antal okänt kön.

Sedan kör jag:

sprintf("%3.0f", ($statsArray['num_users'] ? ($statsArray['num_males']/$statsArray['num_users']) * 100 : 0), $statsArray['num_users']);

För att skriva ut procent män och sedan likadant bara byter ut $statsArray['num_males'] mot $statsArray['num_females'] å så.

Procenttalen jag får är:
387 användare.
93% män
3% kvinnor
5% okänt
Detta är 101% ... Hur ja ändra så de inte blir så?

Medlem sedan juni 20014 290 inlägg
#2

Kallas avrundningsfel :)
Prova att skriva ut någon eller några decimaler också.

Medlem sedan aug. 2002114 inlägg
#3

om ja skriver ut en decimal så får jag 100,1% ... :(

Medlem sedan aug. 2002114 inlägg
#4

allvarligt. INGEN som kan detta????? ...

Medlem sedan apr. 200221 inlägg
#5

Tjena, testat att använda round() funktionen? :)
http://www.php.net/manual/en/function.round.php

Medlem sedan sep. 200193 inlägg
#6

Jag kan kolla, kommer ihåg när jag o polarn satte upp en ping grej med PHP så hade vi oxå problem med avrundningen, jag kan kolla igenom scripten.

Medlem sedan aug. 2002114 inlägg
#7

tack för tipset.
tack för att du kollar upp. :)

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)