2013-11-21 3 views
0

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

вот мой код

<? $query = 'SELECT AVG(points) FROM table1 WHERE id_user = '.$id_user.''; 
    $avg = mysql_query($query, $conn) or die(mysql_error()); 
    $row = mysql_fetch_array($avg);?> 

<b><?= $row['AVG(answer)']?></b> 

Дело в том, что иногда этот результат является чем-то вроде 8,1231452543635674563. Мой вопрос: как я могу заставить его показывать только первые 3 цифры после запятой (например: 8,123)? Спасибо!

+1

RTFM: http://php.net/round http://php.net/number_format http://php.net/ sprintf –

ответ

2

Вам просто нужно number_format()

echo number_format($row['AVG(answer)'],3); 

Кроме того, вы вообще хотите, чтобы избежать коротких тегов PHP как <?=. Они делают ваш код менее переносимым, так как многие хосты не имеют этих функций.

+0

Избегание ' CD001

1

Использование только MySQL, вы могли бы просто использовать FORMAT функцию:

<? $query = 'SELECT FORMAT(AVG(points),3) fmtavg FROM table1 WHERE id_user = '.$id_user.''; 
    $avg = mysql_query($query, $conn) or die(mysql_error()); 
    $row = mysql_fetch_array($avg);?> 

<b><?= $row['fmtavg']?></b> 
Смежные вопросы