2015-10-15 169 views
1

floor(500 * (1.4/100))給我6 和 floor(500 * 1.4/100)給了我7PHP算術運算(加法)

誰能幫助我瞭解PHP算術的內部工作原理。

+5

第二個例子如何給你7?這對我來說似乎不可能。 – Daan

+4

你的意思是「地板(500 * 1.4/100)」? – Amessihel

+1

我發現500 * 1.4 * 100不可能返回接近7的任何東西。 –

回答

6

它的工作原理與其他語言一樣。試一下javascript:

(500*(1.4/100)) // this will give you 6.999999999999999 
    (500* 1.4/100) // this will give you 7 

問題是,PHP的內部設置,告訴他關於精度,他顯示浮點數的精度。嘗試做這樣的事情:(使用默認設置 - 可能14精密)

php > ini_set('precision', 17); 
    php > echo (500 * (1.4/100)); 
    6.9999999999999991 
    php > echo (500 * 1.4/100); 
    7 
    php > 

我想你已經嘗試過上面的代碼沒有的ini_set,並在這兩個結果返回你7:

php > echo (500 * 1.4/100); 
    7 
    php > echo (500 * (1.4/100)); 
    7 
    php >