преобразовать большие значения строки в число laravel. (int) дает неправильное значение - PullRequest
0 голосов
/ 06 апреля 2020

Когда я делаю:

$var = (int)('5000');
dd($var);  //outputs 5000
$query = Mymodel::find($id);
dd($query->loan_amount); //outputs "1,040,000.00"

Также:

$var = (int)($query->loan_amount);
dd($var);  //outputs 1

И наконец:

$query = Mymodel::find($id);
dd($query->loan_amount); //outputs the picture below

enter image description here

Могу ли я знать, почему? И как мне исправить большие цифры?

1 Ответ

1 голос
/ 06 апреля 2020

Model Collection имеет 104000, но вывод показывает 1,040,000.00. Таким образом, вы могли бы использовать Accessor / Mutator.

Вы можете попробовать это преобразовать,

// remove `,` then convert.
$loan_amount = (int) (str_ireplace(',', '', $query->loan_amount));
dd($loan_amount);

Другой способ

Стандартный способ форматирования model attributes in laravel is accessors & mutators , пожалуйста, проверьте это.

...