febripratama/terbilang

源自 https://github.com/riskihajar/terbilang 的分支

1.1 2022-08-30 09:58 UTC

This package is not auto-updated.

Last update: 2024-09-25 17:38:29 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

支持多语言将数字转换为文字。

支持的语言

  • id | 印度尼西亚语
  • en | 英语
  • pt | 葡萄牙语
  • 即将推出

特性

用法

步骤 1: 通过 Composer 安装

composer require febripratama/terbilang

然后运行 composer update

对于 Laravel 4,请使用 1.0.4 版本

步骤 2: 添加提供者与别名

$providers 数组中添加此包的服务提供者。

Riskihajar\Terbilang\TerbilangServiceProvider::class,

将此包的外观添加到 $aliases 数组中。

'Terbilang' => Riskihajar\Terbilang\Facades\Terbilang::class,

步骤 3: 发布配置(可选)

如果您想自定义配置,可以运行以下命令来发布配置文件

php artisan vendor:publish --provider="Riskihajar\Terbilang\TerbilangServiceProvider"

示例

数字转文字

Terbilang::make($number, $suffix, $prefix)

如果设置语言环境为 en

Terbilang::make(1000000); // one million

如果设置语言环境为 id

Terbilang::make(1000000); // satu juta
前缀与后缀

如果设置语言环境为 id

Terbilang::make(123456, ' rupiah', 'senilai ');
// senilai seratus dua puluh tiga ribu, empat ratus lima puluh enam rupiah

如果设置语言环境为 en

Terbilang::make(654321, ' dollars');
// six hundred and fifty-four thousand, three hundred and twenty-one dollars

数字转罗马数字

Terbilang::roman($number, $lowercase=false)

Terbilang::roman(1234); //MCCXXXIV

数字简写

Terbilang::short($number, $format)

可用的简写: kilo, million, billion, trillion

默认值: million

如果设置语言环境为 en

Terbilang::short(1000000); // 1M

如果设置语言环境为 id

Terbilang::short(1000000); // 1jt

日期时间

日期 Terbilang::date($date, $format='Y-m-d');
$date = date('Y-m-d'); // 2015-03-31
Terbilang::date($date);
// Result : tiga puluh satu maret dua ribu lima belas
时间 Terbilang::time($date, $format='h:i:s');
$date = date('h:i:s'); //10:56:30
Terbilang::time($date);
// Result : sepuluh lewat lima puluh enam menit tiga puluh tiga detik
日期时间 Terbilang::datetime($date, $format='Y-m-d h:i:s');
$date = date('Y-m-d h:i:s'); // 2015-03-31 10:58:27
Terbilang::datetime($date);
// Result : tiga puluh satu maret dua ribu lima belas pukul sepuluh lewat lima puluh delapan menit dua puluh tujuh detik
使用 Carbon

如果使用 Carbon,可以忽略 $format

$dt = Carbon\Carbon::now('Asia/Makassar');

$date = Terbilang::date($dt);
$time = Terbilang::time($dt);
$datetime = Terbilang::datetime($dt);

周期

您可以使用方法 Terbilang::period($start, $end=null, $format=null) 来比较两个日期或仅一个日期,并与当前日期自动使用

周期格式配置
'period' => [
     'type' => 'FULL',
     'format' => '{YEAR} {MONTH} {DAY} {HOUR} {MINUTE} {SECOND}',
     'hide_zero_value' => true,
     'separator' => ' ',
     'terbilang' => false,
     'show' => [
         'year' => true,
         'month' => true,
         'day' => true,
         'hour' => true,
         'minute' => true,
         'second' => true,
     ]
 ],
周期示例
$date1 = date('Y-m-d', strtotime('2017-05-01')); // dateformat must Y-m-d H:i:s
$date2 = date('Y-m-d', strtotime('2017-06-15 09:30:15'));

// this method will diff $date1 with current datetime value for example current datetime : 2017-09-08 15:17:54
Terbilang::period($date1); // Result : 4 months 8 days 15 hours 17 minutes 54 seconds

Terbilang::period($date1, $date2); // Result : 1 months 15 days 9 hours 30 minutes 15 seconds

// if you set locale to id
Terbilang::period($date1, $date2); // Result : 1 bulan 15 hari 9 jam 30 menit 15 detik

// if you set config period.terbilang to true
Terbilang::period($date1, $date2); // Result : satu bulan lima belas hari sembilan jam tiga puluh menit lima belas detik

// if you set config period.type to DAY
Terbilang::period($date1, $date2); // Result : 45 hari

许可证

Riskihajar Terbilang 在 MIT 许可证 下授权。

版权 2017 riskihajar