ejetar/laravel-decimal-locale

🔄 将模型属性转换为其他位置的十进制格式。

1.0.0 2021-02-02 19:10 UTC

README

🔄 将模型属性转换为其他位置的十进制格式。

目录

如何工作

laravel-decimal-locale 库允许您将十进制数字转换为不同位置的格式。

示例

1000.5 转换为

这个库的诞生主要目的是以简单的方式提供将十进制数字转换为 API 响应的可能性。因此,目前通过请求的 DecimalLocale 头部来通知应用程序您想要的位置是唯一的方式。您可以自由扩展这个解决方案的可能性,我很高兴收到您的贡献。 :)

但让我们言归正传...

此包提供了一个名为 Decimal 的属性转换类。您只需要

  1. 在所需的模型中添加所需的属性的转换。就像下面的例子一样
<? php
namespace App;

use Ejetar\DecimalLocale\Casts\Decimal;
use Illuminate\Database\Eloquent\Model;

class Product extends Model {
    protected $casts = [
        'price' => Decimal::class,
    ];
    protected $fillable = [
        'id',
        'price',
        'name'
    ];
}
  1. 发送请求到等效的端点并通知 DecimalLocale 头部。示例
GET /api/v1/products
DecimalLocale: pt-br

兼容性

Laravel 7+

示例 1

GET /api/v1/products
DecimalLocale: en

输出

[
    {
        "id": 1,
        "name":"Gold Ball",
        "value": "1,000.5",
        "created_at": "2019-04-24 20:34:03",
        "updated_at": "2019-04-24 20:34:03"
    }
]

示例 2

GET /api/v1/products
DecimalLocale: pt-br

输出

[
    {
        "id": 1,
        "name":"Gold Ball",
        "value": "1.000,5",
        "created_at": "2019-04-24 20:34:03",
        "updated_at": "2019-04-24 20:34:03"
    }
]

示例 3

GET /api/v1/products

没有 DecimalLocale 头部。

输出

[
    {
        "id": 1,
        "name":"Gold Ball",
        "value": 1000.5,
        "created_at": "2019-04-24 20:34:03",
        "updated_at": "2019-04-24 20:34:03"
    }
]

安装

  1. 首先,运行:composer require ejetar/laravel-decimal-locale
  2. 然后,在 config/app.php 文件的 providers 数组中添加 Ejetar\DecimalLocale\Providers\AppServiceProvider::class

变更日志

现在什么也不做...

贡献

为这个美妙的项目做出贡献,能和您一起合作将是一种乐趣。让我们帮助自由软件社区。您被邀请加入新特性、进行纠正、报告错误以及其他形式的支援。别忘了在这个存储库中 star!😄

许可

此库是开源软件,采用 MIT 许可证。