2015-11-18 34 views
1

鑑於varibale $x其中$x是動態的INT。 如何在PHP中找到以下值?

ex: $x = 233; From 233 I want to find 200; 
    $x = 498; From 498 I want to find 400; 
+0

所以,你要值向下取整爲100最近的因素是什麼? – elssar

+0

http://php.net/manual/en/function.floor.php – sinaza

+0

@elssar不是最近的一個,然後498將會給500,而我需要400應小於給定數量 – reverbnation

回答

3

我認爲你正在尋找的是四捨五入的。 PHP有一個函數,稱爲floor()

echo floor(4.3); // 4 
echo floor(9.999); // 9 

,基本上向下取整的分數。現在,本輪下跌的整數,你需要做一些更多的數學:

$v=233; 
$base=100; 
$v_min=$base*(floor($v/$base)); 
+0

注意一個不錯的唾手可得的選項,如果你有一個負數,'floor'輪「上」; '地板(-4.6)= - 5'。如果你想「輪最近的」與正數只可能要分後,走'地板()前加0.5' – Floris

0
echo pow(10, strlen($x) - 1) * (floor($v/pow(10, strlen($x) - 1))); 
+0

你能給出一個解釋,爲什麼這個代碼將工作,這段代碼實際上做了什麼?歡呼聲 – Martin

+0

在我看來,'strlen'作爲一個窮人的對數,以獲得數的規模......只要輸入是一個無符號整數,它的工作原理。 – Floris