PHP yuvarlak matematik soru?

3 Cevap php

Aşağıdaki kodu ne olacak eğer value 2 ve counter olup 11? $rating ne olurdu?

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

Tam kodu aşağıda.

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 Cevap

Peki, aslında ne $rs[value] bağlıdır ve $rs[counter] bulundurmak yerine value ve counter kendileri. Ama benim size soru:

Bunu denedim zaman ne döndünüz?

Muhtemelen yerine bizden biri sizin için bunu yapmak zorunda değil, yeterince şaşırtıcı, size doğru cevabı vereceğim.


Yorumlarınız yanıt:

Ben doğru yaptım, ben sadece kontrol ediyordum. Ben kodu ", 1" ekledi neden çözemedim. Ben tamamen bu yüzden belki de bu sorumu olmuştur gerektiğini, kontrol etmek istedim unuttum?

Belki, ama istendi soru sıkça yapılmıştı soru tarafından, zamanla yerini StackOverflow yeterli emsal var. Asker :-) istihbarat hakaret etmeden gerçek soru didiklemek olanlar vardır bu bir sorun ve (sayısız aile bilgisayarlara bakmak benim gibi olanlar dahil) en iyi yardım masası tipi insanlar değil

Her durumda, yuvarlak işlevi 1 argüman fraksiyonel yerler bu yüzden, sayıyı yuvarlamak için kullanılan kaç belirtir:

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

ve benzerleri.

$rs['value'] = 2 ve $rs['counter'] ardından 11 = eğer

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

Ben inanıyorum. Eğer değilse, ben gerçekten AP İstatistik mahvoldum ...

BTW RTFM. : P

Bunu değişmez değerleri yerleştirerek denediniz mi?

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

2 yuvarlanır ediliyor 0.18181 * 10 == 1.8181, hangi

Edit:

Ayrıca, hata bastırma round()? Gerçekten mi? $rs[value] olmalıdır $rs['value']