PHP 7.1 Расчет валюты - PullRequest
0 голосов
/ 02 июня 2018

Я обновился до PHP 7.1, и этот простой расчет теперь возвращает как ошибка «Обнаружено неверно сформированное числовое значение»

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

    return $balance-$amount;

Мне нужна помощь, чтобы знать, как управлять этим Спасибо

Ответы [ 4 ]

0 голосов
/ 02 июня 2018

php's - оператор может неявно приводить для вас строки к плавающим числам, но это приведение не совместимо с запятыми в тысячу шагов, поэтому избавьтесь от запятых, сделайте ваши вычисления и добавьте запятые после вычисленияНапример,

$balance = "-16,438.56";
$amount = "1000.00";
return number_format ( (( float ) (str_replace ( ",", "", $balance ))) - (( float ) (str_replace ( ",", "", $amount ))), 2, ".", "," );
0 голосов
/ 02 июня 2018

Вам необходимо удалить запятую с баланса $.

$balance = "-16438.56";

0 голосов
/ 02 июня 2018

Ваш баланс содержит запятую, поэтому сначала удалите запятую.Вы также можете ввести подсказку, если хотите быть уверенным.

$balance = str_replace(',','',$balance);
return (float) $balance - (float) $amount;
0 голосов
/ 02 июня 2018

Вы можете преобразовать его в значения с плавающей точкой.

$balance = -16438.56;
$amount = 1000.00;

echo $balance-$amount;

$ -17438.56
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...