У меня есть конечная точка отдыха, которая возвращает простую статистику: общее количество голосов, средний голос, ...
function getRatings($data) {
global $wpdb;
$struttura_id = intval( $data['struttura_id'] );
$sql = " SELECT COUNT(M.meta_key) as num_votes, SUM(M.meta_value) as tot_votes
FROM .... ";
$stats = $wpdb->get_row($sql);
return array('struttura_id'=>$struttura_id,
'num_votes' => $stats->num_votes,
'tot_votes'=> $stats->tot_votes,
'average'=> round($stats->tot_votes/$stats->num_votes,1) );
}
По какой-то причине среднее значение не округляется, когда я получаю его как форму ответа RESTWP rest API.
Ответ:
{
"struttura_id": 115,
"num_votes": "3",
"tot_votes": "10",
"average": 3.2999999999999998
}
Как видите, среднее значение довольно "странно".Слишком много десятичных знаков и неправильная точность (хорошее значение должно быть 3.33333333)
Что не так?