四舍五入一个数字,不一定是PHP的小数


rounding a number, NOT necessarily decimel PHP

我有个问题。

我使用php根据用户指定的操作生成一个数字

这个变量被称为

$new

$new是一个整数,我希望能够将$new四舍五入为12位数字,而不管答案是

我想我可以round()或ceil()

但我相信这些是用来取整小数位的


所以,我在$new中存储了一个整数,当$new被回显时,我想让它打印12位数字。这个数字是600亿还是0.00000000006

如果我正确理解

function showNumber($input) {
  $show = 12;
  $input = number_format(min($input,str_repeat('9', $show)), ($show-1) - strlen(number_format($input,0,'.','')),'.','');
  return $input;
}
var_dump(showNumber(1));
var_dump(showNumber(0.00000000006));
var_dump(showNumber(100000000000000000000000));

给出

string(12) "1.0000000000"
string(12) "0.0000000001"
string(12) "999999999999"