Округленное число с плавающей запятой возвращается со всеми десятичными знаками - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть конечная точка отдыха, которая возвращает простую статистику: общее количество голосов, средний голос, ...

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)

Что не так?

...