2013-03-01 38 views
2

我需要確定一個給定的數字x是否可由yPHPy浮動,具體爲0.05。如何在PHP中通過float分隔?

但是,當我做到這一點,

if ($number % 0.05 === 0) { 
    // Continue 
} 

我收到以下PHP警告:

被零除

有什麼事要解決這個問題?謝謝!

+0

http://bit.ly/ZF9nDH也許這會有所幫助。 – dnelson 2013-03-01 00:47:40

回答

6

乘兩個數彈性模量的definision如下:

在計算中,模(有時稱爲彈性模量)的操作發現的除法的餘數一個號碼由另一個。

表達a % b的另一種方法是:a - b * floor(a/b)

因此,你可以定義自己的函數:

function mod($a,$b) {return $a-$b*floor($a/$b);} 

,簡單地調用它。例如,撥打mod(0.08,0.05)將返回0.03

+0

我來不及發佈相同的答案,+1認爲:) – HamZa 2013-03-01 00:47:45

+0

謝謝!這正是我在尋找 – federicot 2013-03-01 01:19:08

+0

......或者你可以使用內建的['fmod()'](http://php.net/fmod)。 – 2013-03-19 17:54:28

0

您可以通過100

if (($number * 100) % 5 === 0) { 
    // Continue 
} 
+3

不是很靈活。如果y = 0.0000005? – ZolaKt 2013-03-01 00:42:26