1

我正在寻找具有一定意义的数字。

例如 2499 => 2400。这可以在 excel 中使用=FLOOR(2499, 100)

PHP中这个的等效函数是什么?或者是否有解决这个问题的库/自定义函数?

4

2 回答 2

3

使用这种方法:

https://stackoverflow.com/a/7491541/2731161

所以:

round_down('2499',-2); #results in 2400

注意精度值。您需要发布答案中的 round_down 函数。

于 2013-10-05T16:23:29.357 回答
0

这是地板();

(你会相信吗?)没有精度设置..这个函数来自PHP 手册页- 声称添加小数位虽然我没有测试过。

否则你可以乘以 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
于 2013-10-05T16:19:07.873 回答