2013-10-05 34 views
0

我正在尋找地板/圍繞具有一定意義的數字。在PHP中Excel的FLOOR(數字,重要性)是什麼?

例如2499 => 2400這可以使用Excel中=FLOOR(2499, 100)

,這是什麼在PHP的等效功能可以實現?或者是否有解決此問題的庫/自定義函數?

+0

http://www.php.net/manual/en/function.round.php –

回答

0

it's floor();

(你會相信嗎?)沒有精度設置..這個函數是從PHP manual page - 聲稱增加小數位,雖然我沒有測試過。除非你可以乘以100(如果你想要2個DPS),使用floor(),然後除以100得到結果。

Floor decimal numbers with precision: 

function floor_dec($number,$precision,$separator){ 
$numberpart=explode($separator,$number); 
$numberpart[1]=substr_replace($numberpart[1],$separator,$precision,0); 
if($numberpart[0]>=0) 
{$numberpart[1]=floor($numberpart[1]);} 
else 
{$numberpart[1]=ceil($numberpart[1]);} 

$ceil_number= array($numberpart[0],$numberpart[1]); 
return implode($separator,$ceil_number); 
} 

echo floor_dec(1.125,2,"."); //1.12 
echo floor_dec(-1.3436,3,"."); //-1.344 
echo floor_dec(102938.1,4,"."); //102938.1 
+1

沒有嘗試這個功能,我想避免字符串操作作爲一種方法。將是一個低效率的方法。 @ user5923答案中的方法起作用。 – Dayson

+0

是的,我也會..如果你總是使用相同的四捨五入,我不打擾一般功能,這似乎是一種浪費。在你的例子中,你只需要除以100,使用floor(),然後再乘以100來得到你的答案。 – WindsorAndy

相關問題