首頁  >  文章  >  後端開發  >  php 浮點數取餘的方法

php 浮點數取餘的方法

怪我咯
怪我咯原創
2017-07-11 14:05:174289瀏覽

浮點型(也叫浮點數float,雙精度數double 或實數real。浮點數的字長和平台相關,儘管通常最大值是1.8e308 並具有14 位元十進制數字的精度(64 位元IEEE 格式)。給出更大誤差,並且要考慮到進行複合運算時的誤差傳遞。精確表示,因此不能在不丟失一點點精度的情況下轉換為二進制的格式。 #floor((0.1+0.7)*10) 

通常會回傳 7 而非預期中的 8,因為該結果內部的表示其實是類似 

7.9999999999999991118...

########################################。 #所以永遠不要相信浮點數結果精確到了最後一位,也永遠不要比較兩個浮點數是否相等。 #####分享給大家供大家參考,具體如下:######一般我們進行取餘運算第一個想到的就是用百分號%,但當除數是個很大的數值,超出了int範圍時,這樣取餘就不準確了。 ##
/**
 * php大数取余
 *
 * @param int or float $bn 除数
 * @param int $sn 被除数
 * @return int 余数
 */
//大数(浮点数)取余方法
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}

以上是php 浮點數取餘的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn