PHP - Ben bir değişkene atamak neden benim hesaplama farklı bir sonuç üretir?

1 Cevap

: Temelde aşağıdaki işlevi istiyorum - Ben önemli basamak belirli bir sayıda bir sayıyı yuvarlamak istiyorum

round(12345.67, 2) -> 12000
round(8888, 3) -> 8890

Ben şu var, ama garip bir sorun var.

function round_to_sf($number, $sf) 
{
 $mostsigplace = floor(log10(abs($number)))+1;
 $num = $number / pow(10, ($mostsigplace-$sf));

 echo ($number / pow(10, ($mostsigplace-$sf))).' '.$num.'<BR>';
}

round_to_sf(41918.522, 1);

Aşağıdaki çıktıyı üretir:

4.1918522 -0

Bir değişkene atanmış, nasıl bir hesaplama sonucu farklı olabilir?

1 Cevap

Ayıklama yorumlama-out ikili arama yöntemi kullanarak, ben bu daralmış.

Görünüşe göre, aşağıdaki satırı, bir başka fonksiyon, tamamen farklı bir dosyada bile sorundur.

$diff = date_diff(new DateTime($lastdate), new DateTime("NOW"));

Ben dışarı yorum, benim yuvarlama fonksiyonu doğru sonuç almak.

Herkes ne .... burada oluyor bana söyleyebilir misiniz? Bu bana bir gün için saçımı dışarı sökük vardı. Ayrıca hafıza stomps gibi baktım diğer böcek neden - Ben bir float foo üretmesi gerektiğini bir hesaplama koşmak istiyorum, ve foo doğru çıktı üretilen diğer hesaplamalarda kullanılan olsun, ama foo A.KIPGGGGGGGGG gösterecektir yankılanıyordu.