我想把我的十进制修剪成像8.063这样的东西,而不是原来的E-98.0638304611694。我已经为它实现了一个函数,但是当它里面有E-9
时,它就不起作用了。我应该修改哪一部分??
public function setPrecision($number, $decimals = 0)
{
$negation = ($number < 0) ? (-1) : 1;
$coefficient = 10 ** $decimals;
return $negation * floor((string)(abs($number) * $coefficient)) / $coefficient;
}
编辑
当我尝试调用函数时,当前实现给了我0
。
setPrecision(8.0638304611694E-9, 3); // 0
使用sprintf可以很容易地完成特定位数的相对舍入。
$round = (float)sprintf('%0.3E', 8.0638304611694E-9);
var_dump($round); //float(8.064E-9)
在PHP中,有(在编写的时候)8519个内置函数。其中一个可能会成功!
您可以在函数中使用log10()
和round()
:
function setPrecision($number, $precision = 0)
{
$exponent = floor(log10($number)) - 1;
return round($number, -$exponent + $precision - 1);
}
我想把小数点改成,而不是原来的。我已经为它实现了一个函数,但是当它中有时,它就不起作用了。我应该修改哪个部分?? 编辑 当我尝试调用函数时,当前实现给我的。
my我希望它只显示。我该怎么做?这就是我尝试过的- 但这只是四舍五入到2位。我希望删除小数之后的所有内容。包括小数。
问题内容: 例如,当我拆分字符串时,我想检查一下我的第一部分是否仅包含数字和小数点。 我做了以下 但这仅检查数字而不是小数。如何在其中检查小数?例如,我想检查0.12.13.14是否可以正常工作,而像0.12.13.14x这样的东西将无法工作。 问题答案: 在正则表达式中添加点字符,如下所示: 该是允许多个数字/小数点。 在情况下,至少一个数字/小数点是必需的,代替具有用于一个或多个出现。 编辑:
null null null 我只是不知道如何将两者结合起来,这样小数点后才是强制性的。 我如何解决这个问题?
问题内容: 如果我有以下小数点数字: 然后我得到以下输出: 我想要的是: 问题答案: 可能令人困惑的部分是 的表示整个数(包括小数)的长度,而不仅仅是小数之前的部分。该代表的小数位数。 因此,要使格式正确无误,最多可以有小数点前4个数字和小数点后3个位,实际上是所需的格式。
问题内容: 希望这是一个简单的问题,但我暂时无法解决。我想使用matplotlib显示2个数字,然后以交互方式使用它们。我用以下方法创建数字: 并可以使用类似MATLAB的pyplot界面在两个图中进行绘制和绘制。用 我可以确定pyplot界面的当前活动图形,具体取决于我单击的图形。现在,我想使用pyplot界面在第一个图形上绘制一些东西,但是当前图形可以是其中任意一个。所以有什么像 或任何解决方