Laravel 类型转换指数 float 不工作

标签 laravel

问题

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

在我的模型中,我尝试按如下方式转换列:

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

但我仍然收到返回的指数数。

期待

接收 View 中的数字0.00000064,而不是指数6.4E-7

我在这里做错了什么?

最佳答案

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

您可以定义accessor为此:

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

关于Laravel 类型转换指数 float 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51121190/

相关文章:

javascript - Laravel 5 mix app.js 文件创建

Laravel 在不同行中存储多个值

php - Laravel 5.1 使用变量重定向

php - Laravel 停止事件传播

php - 在 Laravel 5.2 中找不到类 'lluminate\Redis\RedisServiceProvider'

php - laravel 5.1 本地化不工作

php - 如何在 Laravel 5 中对合并的集合进行分页?

Laravel Eloquent AS 关键字

php - 类 path.config 不存在 - Lumen 5.2

php - laravel sendFailedLoginResponse() 覆盖