Skip to content

Commit 7e9e11a

Browse files
Added doc [skip ci]
1 parent 0f4ed15 commit 7e9e11a

File tree

1 file changed

+198
-0
lines changed

1 file changed

+198
-0
lines changed

README.md

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,201 @@
77
</p>
88

99
Laravel number to words hổ trợ chuyển đổi số sang chữ số Tiếng Việt.
10+
11+
[![Latest Version on Packagist](https://img.shields.io/packagist/v/phpviet/laravel-number-to-words.svg?style=flat-square)](https://packagist.org/packages/phpviet/laravel-number-to-words)
12+
[![Build Status](https://img.shields.io/travis/phpviet/laravel-number-to-words/master.svg?style=flat-square)](https://travis-ci.org/phpviet/laravel-number-to-words)
13+
[![Quality Score](https://img.shields.io/scrutinizer/g/phpviet/laravel-number-to-words.svg?style=flat-square)](https://scrutinizer-ci.com/g/phpviet/laravel-number-to-words)
14+
[![StyleCI](https://styleci.io/repos/190297766/shield?branch=master)](https://styleci.io/repos/190297766)
15+
[![Total Downloads](https://img.shields.io/packagist/dt/phpviet/laravel-number-to-words.svg?style=flat-square)](https://packagist.org/packages/phpviet/laravel-number-to-words)
16+
17+
## Cài đặt
18+
19+
Cài đặt Laravel Number To Words thông qua [Composer](https://getcomposer.org):
20+
21+
```bash
22+
composer require phpviet/laravel-number-to-words
23+
```
24+
25+
## Cách sử dụng
26+
27+
### Các tính năng của extension:
28+
29+
- [`Chuyển đổi số sang chữ số`](#Chuyển-đổi-số-sang-chữ-số)
30+
- [`Chuyển đổi số sang tiền tệ`](#Chuyển-đổi-số-sang-tiền-tệ)
31+
- [`Thay cách đọc số`](#Thay-cách-đọc-số)
32+
33+
### Chuyển đổi số sang chữ số
34+
35+
+ Sử dụng thông qua facade `N2W`:
36+
37+
```php
38+
use N2W;
39+
40+
// âm năm
41+
N2W::toWords(-5);
42+
43+
// năm
44+
N2W::toWords(5);
45+
46+
// năm phẩy năm
47+
N2W::toWords(5.5);
48+
```
49+
50+
+ Sử dụng thông qua hàm hổ trợ `n2w`:
51+
52+
```php
53+
// mười lăm
54+
n2w(15);
55+
56+
// một trăm linh năm
57+
n2w(105);
58+
59+
// hai mươi tư
60+
n2w(24);
61+
```
62+
63+
### Chuyển đổi số sang tiền tệ
64+
65+
+ Sử dụng thông qua facade `N2W`:
66+
67+
```php
68+
use N2W;
69+
70+
// năm triệu sáu trăm chín mươi nghìn bảy trăm đồng
71+
N2W::toCurrency(5690700);
72+
```
73+
74+
+ Sử dụng thông qua hàm hổ trợ `n2c`:
75+
76+
```php
77+
// chín mươi lăm triệu năm trăm nghìn hai trăm đồng
78+
n2c(95500200);
79+
```
80+
81+
Ngoài ra ta còn có thể sử dụng đơn vị tiền tệ khác thông qua tham trị thứ 2 của phương thức
82+
`toCurrency` và hàm `n2c` với mảng phần từ đầu tiên là đơn vị cho số nguyên và kế tiếp là đơn vị của phân số:
83+
84+
```php
85+
use N2W;
86+
87+
// sáu nghìn bảy trăm bốn mươi hai đô bảy xen
88+
N2W::toCurrency(6742.7, ['đô', 'xen']);
89+
90+
// chín nghìn bốn trăm chín mươi hai đô mười lăm xen
91+
n2c(9492.15, ['đô', 'xen']);
92+
```
93+
94+
### Thay cách đọc số
95+
96+
> Nếu như bạn cảm thấy cách đọc ở trên ổn rồi thì hãy bỏ qua bước này.
97+
98+
Đầu tiên để thay đổi cách đọc số bạn publish file cấu hình thông qua câu lệnh:
99+
100+
```php
101+
php artisan vendor:publish --provider="PHPViet\Laravel\NumberToWords\ServiceProvider" --tag="config"
102+
```
103+
104+
Sau khi publish xong ta sẽ có được file config `config/n2w.php` nhu sau:
105+
106+
```php
107+
return [
108+
/**
109+
* Cấu hình từ điển mặc định theo chuẩn chung của cả nước
110+
*/
111+
'defaults' => [
112+
'dictionary' => 'standard',
113+
],
114+
'dictionaries' => [
115+
/**
116+
* Cấu hình các từ điển custom theo ý bạn.
117+
*/
118+
'standard' => PHPViet\NumberToWords\Dictionary::class,
119+
'south' => PHPViet\NumberToWords\SouthDictionary::class
120+
]
121+
];
122+
```
123+
124+
Ngay bây giờ bạn hãy thử đổi default `standard` sang `south`, toàn bộ phương thức chuyển
125+
đổi số sang chữ số và tiền tệ sẽ đọc theo phong cách trong Nam:
126+
127+
```php
128+
use N2W;
129+
130+
// một trăm linh một => một trăm lẻ một
131+
N2W::toWords(101);
132+
133+
// một nghìn => một ngàn
134+
N2W::toWords(1000);
135+
136+
// hai mươi tư => hai mươi bốn
137+
N2W::toWords(24);
138+
139+
// một trăm hai mươi tư nghìn không trăm linh một => một trăm hai mươi bốn ngàn không trăm lẻ một
140+
N2W::toCurrency(124001);
141+
```
142+
143+
hoặc bạn muốn sử dụng linh động hơn thì hãy chỉ định từ điển:
144+
145+
```php
146+
// một trăm hai mươi tư nghìn không trăm linh một
147+
n2c(124001);
148+
149+
// một trăm hai mươi bốn ngàn không trăm lẻ một
150+
n2c(124001, 'south');
151+
```
152+
153+
Nếu như bạn muốn thay đổi cách đọc theo ý bạn thì hãy tạo một lớp `Dictionary` kế thừa
154+
`PHPViet\NumberToWords\Dictionary` hoặc thực thi mẫu trừu tượng `PHPViet\NumberToWords\DictionaryInterface`:
155+
156+
```php
157+
158+
use PHPViet\NumberToWords\Dictionary;
159+
use PHPViet\NumberToWords\Transformer;
160+
161+
class MyDictionary extends Dictionary {
162+
163+
/**
164+
* @inheritDoc
165+
*/
166+
public function specialTripletUnitFive(): string
167+
{
168+
return 'nhăm';
169+
}
170+
171+
}
172+
173+
Sau đó khai báo vào config:
174+
175+
```php
176+
return [
177+
/**
178+
* Cấu hình từ điển mặc định theo chuẩn chung của cả nước
179+
*/
180+
'defaults' => [
181+
'dictionary' => 'my',
182+
],
183+
'dictionaries' => [
184+
/**
185+
* Cấu hình các từ điển custom theo ý bạn.
186+
*/
187+
'standard' => PHPViet\NumberToWords\Dictionary::class,
188+
'south' => PHPViet\NumberToWords\SouthDictionary::class,
189+
'my' => MyDictionary::class
190+
]
191+
];
192+
```
193+
194+
Và hãy thử ngay:
195+
196+
```php
197+
use N2W;
198+
199+
// mười nhăm
200+
N2W::toWords(15);
201+
```
202+
203+
## Dành cho nhà phát triển
204+
205+
Nếu như bạn cảm thấy extension còn thiếu sót hoặc sai sót và bạn muốn đóng góp để phát triển chung,
206+
chúng tôi rất hoan nghênh! Hãy tạo các `issue` để đóng góp ý tưởng cho phiên bản kế tiếp
207+
hoặc tạo `PR` để đóng góp. Cảm ơn!

0 commit comments

Comments
 (0)