Laravel 由number_format()函数格式化后遇到的格式不正确的数值

Laravel 由number_format()函数格式化后遇到的格式不正确的数值,laravel,number-formatting,php-7.2,Laravel,Number Formatting,Php 7.2,我正在使用存取器格式化我的数值。当我试图计算格式化值时,问题开始了,因为number_format()函数返回一个字符串值。是否有其他方法格式化数值并计算数值 class Order extends Model { protected $fillable = ['order_quantity']; public function getOrderQuantityAttribute($value) { return number_format($valu

我正在使用存取器格式化我的数值。当我试图计算格式化值时,问题开始了,因为number_format()函数返回一个字符串值。是否有其他方法格式化数值并计算数值

class Order extends Model

{
    protected $fillable = ['order_quantity'];

    public function getOrderQuantityAttribute($value)
    {
        return number_format($value);
    }
}
尝试计算时显示的错误,如

$order->order_quantity * 100;   
//$order->order_quantity value is 10,000
只需将“,”替换为“”:


也许这对你有帮助。使用
str\u replace
从字符串中删除逗号

$newOrderQuantity = str_replace(',', '', $order->order_quantity); // converting to "10000"

因此,您可以使用
(int)$newOrderQuantity
进行计算。

执行此操作((int)$order->order\u quantity)后,它只返回10。它一直工作到(,)来。谢谢!你的解决方案奏效了。还有一个问题。使用Accessor.@Md.SukelAli后,是否仍有访问原始数据的权限?我并没有完全理解这个问题。可能您正在谈论获取原始数据(在使用访问器数据之前)<代码>$model->getOriginal('column-name-here')可以。谢谢。对我说的是获取原始数据(在使用访问器数据之前)。使用这个:
$model->getOriginal('column-name-here')
$newOrderQuantity = str_replace(',', '', $order->order_quantity); // converting to "10000"