# Approximate Average to 1 decimal place

Hello Experts!

I'm currently using this function to get Total and Average scores.
class Student
{
public \$Name;
public \$Subjects = array();

// Functions to get Total and Average marks
public function getTotalMarks()
{
\$total = 0;
foreach(\$this->Subjects as \$subject => \$marks)
{
\$total += \$marks;
}
return \$total;
}

public function getAverageMarks()
{
if(!count(\$this->Subjects)) { return 0; }
return \$this->getTotalMarks() / count(\$this->Subjects);
}
}

How can I make the average a 1 decimal place? I'm getting something like  51.666666666667.

Thank you.
LVL 1
###### Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
Try this:
class Student
{
public \$Name;
public \$Subjects = array();

// Functions to get Total and Average marks
public function getTotalMarks()
{
\$total = 0;
foreach(\$this->Subjects as \$subject => \$marks)
{
\$total += \$marks;
}
return \$total;
}

public function getAverageMarks()
{
if(!count(\$this->Subjects)) { return 0; }
return round(\$this->getTotalMarks() / count(\$this->Subjects), 1);
}
}

Experts Exchange Solution brought to you by