PHP的变量值就像零

时间:2018-10-01 22:39:29

标签: php api variables double

当我在一个项目上工作时,出现一个错误,我不明白为什么会发生。在我的代码上,我从API读取了一个字符串,该字符串是一个数字,但API返回的是字符串,因此我制作了$mynumber = floatval($mynumber);,它可以正常工作。但是,在进行$newnumber = $mynumber * 1.5;之类的数学运算之后,我得到了一个奇怪的错误。

echo $newnumber;

将数字返回为“ 8.5E-6”,这很好,表明$newnumber拥有一个值。此外,echo gettype($newnumber);也返回“ double”,因此一切看起来都很完美。但是每当我尝试将输入打印为

echo number_format($newnumber);

它仅在屏幕上打印“ 0”。另外,如果我尝试在curl上使用该$ newnumber变量,则在尝试调用api的网站上出现错误,并显示“值不能为0”,因此该变量的值似乎也传递为API请求为0。

当我尝试在第一个变量上使用number_format时,在乘法运算之前,它返回的值没有任何问题,因此问题也不在number_format函数上。

这时我陷入困境,不知道如何解决这个问题,知道吗?

1 个答案:

答案 0 :(得分:1)

如果echo $newnumber8.5E-6,则该数字作为小数应为0.0000085
number_format()将要显示的小数位数作为第二个参数(默认为0)。由于您的x10-6数字为小数点后一位,因此您至少需要7个小数点后。

echo number_format($newnumber, 7);

将输出

0.0000085