2010-01-06 103 views
0

如果value2counter11,下面的代码是什么? $rating是什么?PHP圆数学问题?

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

完整的代码如下。

function getRating(){ 
    $sql= "select * from vote"; 
    [email protected]_query($sql); 
    [email protected]_fetch_array($result); 
    $rating = (@round($rs[value]/$rs[counter],1)) * 10; 
    echo $rating; 
} 
+0

$ rs缺失。 $ rs包含什么? – 2010-01-06 02:30:12

+0

与数据库的连接。 – Jawa 2010-01-06 02:30:55

+0

格式化您的代码 – 2010-01-06 03:12:18

回答

3

那么,那实际上取决于什么$rs[value]$rs[counter]包含而不是valuecounter本身。但我对你的问题是:

当你尝试它时会返回什么?

这可能会给你正确的答案,令人惊讶的是,而不是让我们中的一个人为你做。


响应您的评论:

我只是检查,如果我做得对。我无法弄清楚为什么我在代码中添加了“,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 

等。

+0

+1“当你尝试它时,它会返回什么?” – 2010-01-06 02:36:52

+0

我只是检查我是否做对了我无法弄清楚为什么我加了',1'到我的代码完全忘记了,所以我想检查,也许这应该是我的问题? – Jawa 2010-01-06 02:37:54

+0

@Jawa,“1”将数字加到那个小数位。 – paxdiablo 2010-01-06 03:20:48

3

如果$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统计...

BTW RTM。 :P

0

您是否尝试将文字值置于其中?

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

0.18181 * 10 == 1.8181,正被向上舍入到2

编辑:

此外,误差抑制上round()?真? $rs[value]应该是$rs['value']