如果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;
}发布于 2010-01-06 10:34:45
实际上,这取决于$rs[value]和$rs[counter]包含的内容,而不是value和counter本身。但我想问你的是:
当你尝试它时,它返回了什么?
令人惊讶的是,这可能会给你正确的答案,而不是让我们中的一个人为你做。
对您的评论的回应:
我只是想确认一下我做得对不对。我不明白为什么我在我的代码中添加了",1“。我完全忘记了,所以我想检查一下,也许这应该是我的问题?
也许吧,但在StackOverflow上有大量的先例,随着时间的推移,所提出的问题经常被所指的问题所取代。这不是问题,最好的服务台类型的人(包括那些像我一样照看无数家庭电脑的人)是那些能够在不冒犯提问者的智慧的情况下梳理出真正的问题的人:-)
在任何情况下,round函数的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诸若此类。
发布于 2010-01-06 10:33:04
如果$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..。
顺便说一句,RTM。:P
发布于 2010-01-06 10:35:44
你有没有试过把字面值放进去?
$rating = round(2 / 11,1) * 10;
var_dump($rating);0.18181 * 10 == 1.8181,向上舍入为2
编辑:
另外,round()上的错误抑制?真的吗?$rs[value]应该是$rs['value']
https://stackoverflow.com/questions/2010606
复制相似问题