PHP 7.1货币计算

时间:2018-06-02 11:04:16

标签: php laravel

我已经更新到PHP 7.1,这个简单的计算现在返回'遇到非正确形成的数值'错误

    $balance = "-16,438.56";
    $amount = "1000.00";

    return $balance-$amount;

我需要帮助知道如何管理它 感谢

4 个答案:

答案 0 :(得分:3)

您需要从$ balance中删除逗号。

$balance = "-16438.56";

答案 1 :(得分:2)

您可以将其转换为浮点值。

$balance = -16438.56;
$amount = 1000.00;

echo $balance-$amount;

$ -17438.56

答案 2 :(得分:1)

您的余额中有逗号,请先删除逗号。如果您想确定,也可以输入提示。

$balance = str_replace(',','',$balance);
return (float) $balance - (float) $amount;

答案 3 :(得分:1)

php的-运算符可以隐式地为浮点数转换为浮点数,但是该转换与千步逗号不兼容,因此请删除逗号,进行计算,然后重新添加逗号经过计算,例如

$balance = "-16,438.56";
$amount = "1000.00";
return number_format ( (( float ) (str_replace ( ",", "", $balance ))) - (( float ) (str_replace ( ",", "", $amount ))), 2, ".", "," );