Laravel铸造指数浮动不起作用

时间:2018-07-01 07:14:07

标签: laravel

问题

我有一个非常小的数字0.00000064,其数据类型为double(20,8)。 我看到的是6.4E-7

在我的模型中,我尝试按以下方式投射列:

protected $casts = [
    'total_crypto_balance' => 'float'
];

但是我仍然收到那个指数编号。

期待

接收可见的数字0.00000064,而不接收指数6.4E-7

我在这里做什么错了?

2 个答案:

答案 0 :(得分:1)

您似乎想要的是数字格式,因为0.0000064与6.4e-7相同,并且您只关心最终用户看到的内容。

您可以定义一个return statement来做到这一点:

 public function getTotalCryptoBalanceAttribute() {
       return number_format($this->attributes['total_crypto_balance'], 8); // format with 8 decimals
 }

答案 1 :(得分:1)

apokryfos在我前面发布了,因此我将他标记为正确答案。

仅在这里显示另一种方式:

....