PHP круглый математический вопрос? - PullRequest
0 голосов
/ 06 января 2010

Каким будет код ниже, если value равен 2, а counter равен 11? Что бы $rating было?

$rating = (@round($rs[value] / $rs[counter],1)) * 10; 

Полный код приведен ниже.

function getRating(){
    $sql= "select * from vote";
    $result=@mysql_query($sql);
    $rs=@mysql_fetch_array($result);
    $rating = (@round($rs[value] / $rs[counter],1)) * 10; 
    echo $rating;
}

Ответы [ 3 ]

3 голосов
/ 06 января 2010

Ну, это на самом деле зависит от того, что содержат $rs[value] и $rs[counter], а не value и counter. Но мой вопрос к вам:

Что вернулось, когда вы попробовали?

Это, вероятно, даст вам правильный ответ, как это ни удивительно, вместо того, чтобы один из нас сделал это для вас.


Отвечая на ваш комментарий:

Я просто проверял, правильно ли я поступил. Я не мог понять, почему я добавил «1» в свой код. Я полностью забыл, поэтому я хотел проверить, может быть, это был мой вопрос?

Может быть, но в StackOverflow есть достаточный прецедент, когда задаваемый вопрос часто со временем заменяется подразумеваемым вопросом. Это не проблема, и лучшие люди типа службы поддержки (в том числе такие, как я, которые присматривают за бесчисленными семейными компьютерами) - это те, кто может дразнить реальный вопрос, не оскорбляя интеллект спрашивающего:

В любом случае аргумент 1 функции округления указывает, сколько дробных мест используется для округления числа, поэтому:

round (1.2341234,0) = 1
round (1.2341234,1) = 1.2
round (1.2341234,2) = 1.23
round (1.2341234,3) = 1.234
round (1.2341234,4) = 1.2341

и т. Д.

3 голосов
/ 06 января 2010

Если $rs['value'] = 2 и $rs['counter'] = 11, то

2/11 = .18181818181818
round(.181818181, 1) = .2 // This uses the ever popular rule of thumb. 
.2 * 10 = 2

Я верю. Если нет, то я действительно облажался в AP Statistics ...

BTW RTM . : Р

0 голосов
/ 06 января 2010

Вы пытались поместить в него буквальные значения?

$rating = round(2 / 11,1) * 10; 
var_dump($rating);

0.18181 * 10 == 1.8181, округляется до 2

Редактировать:

Кроме того, подавление ошибок на round()? В самом деле? $rs[value] должно быть $rs['value']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...