...

View Full Version : Resolved Percentage amount



myfayt
09-04-2011, 09:41 PM
I am looking at displaying a text percentage amount. So if your life is a maximum of 1,000 and you currently have 200 health, it shows Health: 20%

Anyone know how I can take 0 to the max health number?

0 = 0%
1 = 1%
Max Health = 100%

and whatever in between. This would be a huge help, thank you.

Edit: By the way it'd be grabbing database values like $user['currenthealth'] and $user['maxhealth']

ASTP001
09-04-2011, 09:50 PM
$percent_health = ($user['currenthealth']/$user['maxhealth'])*100;
echo $percent_health."%";


Is that what you were asking for?

myfayt
09-04-2011, 11:15 PM
Thanks for the reply. It didn't quite work, the result came to:


Current HP: 74.3726235741%

I am guessing that means 74%? Does it just need to be floored or is there a way to make sure it's always a solid number with no decimals?

Spookster
09-04-2011, 11:19 PM
Thanks for the reply. It didn't quite work, the result came to:



I am guessing that means 74%? Does it just need to be floored or is there a way to make sure it's always a solid number with no decimals?

Then round the value.
http://php.net/manual/en/function.round.php

Chris Hick
09-04-2011, 11:23 PM
You can use three different things to get that to the way you want it. Using ceil or floor functions or round.



// ceil function
// this rounds everything up
$percent_health = ceil(($user['currenthp']/$user['maxhp'])*100);
echo $percent_health."%";

//floor function
// this rounds everything down
$percent_health = floor(($user['currenthp']/$user['maxhp'])*100);
echo $percent_health."%";

// round
// this rounds anything <5 down and anything >= 5 up
$percent_health = round(($user['currenthp']/$user['maxhp'])*100);
echo $percent_health."%";

myfayt
09-04-2011, 11:29 PM
My health should only be in the 70's but it's saying 100% so it isn't right. I tried round and ceil both.


$percent_health = ceil(($user['currenthp']/$user['maxhp']))*100;

Chris Hick
09-04-2011, 11:36 PM
That is because you have your parentheses wrong. You need to copy it like I have it. See if that works.

myfayt
09-04-2011, 11:56 PM
Good catch! I missed that.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum