Php 将字符串的大值转换为数字LAVEL。(int)给出了错误的值

Php 将字符串的大值转换为数字LAVEL。(int)给出了错误的值,php,laravel,numbers,Php,Laravel,Numbers,当我这样做时: $var = (int)('5000'); dd($var); //outputs 5000 此外: 最后: $query = Mymodel::find($id); dd($query->loan_amount); //outputs the picture below 我可以知道为什么吗?那么如何修复这些大数字呢?模型集合有104000个,但输出显示为1040000.00。所以您可能使用了访问器/变异器 你可以试试这个来转换 // remove `,` then

当我这样做时:

$var = (int)('5000');
dd($var);  //outputs 5000
此外:

最后:

$query = Mymodel::find($id);
dd($query->loan_amount); //outputs the picture below
我可以知道为什么吗?那么如何修复这些大数字呢?

模型集合有104000个,但输出显示为1040000.00。所以您可能使用了访问器/变异器

你可以试试这个来转换

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


在laravel中格式化模型属性的标准方法是,请查看。

无法复制,您使用的是什么版本的laravel/PHP?您100%确定它是字符串“1040000”吗?没有其他符号,也没有零是字母O?Laravel Framework 5.8.36 | | PHP 7.3.9@kerbholz请检查您的输入是否为1040000。由于逗号的存在,转换为整数时,字符串1040000.00将转换为1-它将其解释为十进制分隔符。
$query = Mymodel::find($id);
dd($query->loan_amount); //outputs the picture below
// remove `,` then convert.
$loan_amount = (int) (str_ireplace(',', '', $query->loan_amount));
dd($loan_amount);