All Projects → phpviet → number-to-words

phpviet / number-to-words

Licence: MIT license
⚡ Thư viện hổ trợ chuyển đổi số sang chữ số Tiếng Việt.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to number-to-words

Vietnamese-Accent-Prediction
A simple/fast/accurate accent prediction for non-accented Vietnamese text
Stars: ✭ 31 (+63.16%)
Mutual labels:  vietnamese
vietnamese-roberta
A Robustly Optimized BERT Pretraining Approach for Vietnamese
Stars: ✭ 22 (+15.79%)
Mutual labels:  vietnamese
numberwords
Convert a number to an approximated text expression: from '0.23' to 'less than a quarter'.
Stars: ✭ 191 (+905.26%)
Mutual labels:  number-to-words
lstm-crf-tagging
No description or website provided.
Stars: ✭ 13 (-31.58%)
Mutual labels:  vietnamese
automatic speech recognition
Vietnamese Automatic Speech Recognition
Stars: ✭ 58 (+205.26%)
Mutual labels:  vietnamese
number-to-bengali-word
An amazing package to convert your number to bengali word representation.
Stars: ✭ 22 (+15.79%)
Mutual labels:  number-to-words
vue-persian-tools
Persian tools wrapper for vue.js
Stars: ✭ 21 (+10.53%)
Mutual labels:  number-to-words
community
Ông Dev Community
Stars: ✭ 64 (+236.84%)
Mutual labels:  vietnamese
vietnamese-password-dicts
Tổng hợp danh sách mật khẩu wifi tiếng Việt sử dụng cho aircrack-ng
Stars: ✭ 40 (+110.53%)
Mutual labels:  vietnamese
DigitText
The module allows to translate numbers into a text equivalent. This is important in the billing.
Stars: ✭ 22 (+15.79%)
Mutual labels:  number-to-words
Userscript
Userscripts collection written by me
Stars: ✭ 92 (+384.21%)
Mutual labels:  vietnamese
TALPCo
TUFS Asian Language Parallel Corpus
Stars: ✭ 32 (+68.42%)
Mutual labels:  vietnamese
vietTTS
Vietnamese Text to Speech library
Stars: ✭ 78 (+310.53%)
Mutual labels:  vietnamese
UETsegmenter
A toolkit for Vietnamese word segmentation
Stars: ✭ 60 (+215.79%)
Mutual labels:  vietnamese
SpeakIt Vietnamese TTS
Vietnamese Text-to-Speech on Windows Project (zalo-speech)
Stars: ✭ 81 (+326.32%)
Mutual labels:  vietnamese
tudien
Từ điển tiếng Việt dành cho Kindle
Stars: ✭ 38 (+100%)
Mutual labels:  vietnamese
word tokenize
Vietnamese Word Tokenize
Stars: ✭ 45 (+136.84%)
Mutual labels:  vietnamese
classification
Vietnamese Text Classification
Stars: ✭ 39 (+105.26%)
Mutual labels:  vietnamese
google assistant vietnamese speaking
Đây là dự án độ lại loa thông minh chạy Google Assistant hỗ trợ đa ngôn ngữ trong đó có tiếng Việt, phần source code do Nguyễn Duy code lại từ Source Gốc của Google
Stars: ✭ 19 (+0%)
Mutual labels:  vietnamese
JointIDSF
BERT-based joint intent detection and slot filling with intent-slot attention mechanism (INTERSPEECH 2021)
Stars: ✭ 55 (+189.47%)
Mutual labels:  vietnamese

Number To Words


Latest version Build status Quantity score StyleCI Total download License

Thông tin

Thư viện hổ trợ chuyển đổi số sang chữ số Tiếng Việt.

Cài đặt

Cài đặt Number To Words thông qua Composer:

composer require phpviet/number-to-words

Cách sử dụng

Tích hợp sẵn trên các framework phổ biến hiện tại

hoặc nếu bạn muốn sử dụng không dựa trên framework thì tiếp tục xem tiếp.

Các tính năng của thư viện:

Chuyển đổi số sang chữ số

Thư viện cung cấp cho chúng ta lớp PHPViet\NumberToWords\Transformer để thực hiện việc chuyển đổi thông qua phương thức toWords của đối tượng:

use PHPViet\NumberToWords\Transformer;

$transformer = new Transformer();

// âm năm
$transformer->toWords(-5); 

// năm
$transformer->toWords(5); 

// năm phẩy năm
$transformer->toWords(5.5); 

// mười lăm
$transformer->toWords(15); 

// một trăm linh năm
$transformer->toWords(105); 

// bốn
$transformer->toWords(4); 

// mười bốn
$transformer->toWords(14);

// hai mươi tư
$transformer->toWords(24); 

// một trăm ba mươi tư
$transformer->toWords(134); 

// một
$transformer->toWords(1); // một

// mười một
$transformer->toWords(11); 

// hai mươi mốt
$transformer->toWords(21); 

 // một trăm nghìn không trăm hai mươi mốt.
$transformer->toWords(100021);

// một trăm ba mươi mốt triệu không trăm năm mươi nghìn không trăm ba mươi lăm
$transformer->toWords(131050035);

Chuyển đổi số sang tiền tệ

Cũng như cách sử dụng của chuyển số sang chữ số ta cũng sử dụng lớp PHPViet\NumberToWords\Transformer để thực thi tác vụ:

use PHPViet\NumberToWords\Transformer;

$transformer = new Transformer();

// năm triệu sáu trăm chín mươi nghìn bảy trăm đồng
$transformer->toCurrency(5690700);

// chín mươi lăm triệu năm trăm nghìn hai trăm đồng
$transformer->toCurrency(95500200);

// tám trăm năm mươi tư triệu chín trăm đồng
$transformer->toCurrency(854000900);

Trong một số loại tiền tệ, bạn cần thay đổi cách đọc theo đơn vị quy đổi, ví dụ 1 đô = 100 xen

use PHPViet\NumberToWords\Transformer;

// Đặt số chữ số phần thập phân (tham số đầu tiên Dictionary có thể null)
$transformer = new Transformer(null, 2);

// năm mươi sáu đô chín mươi xen, thay vì năm mươi sáu đô chín xen
$transformer->toCurrency(56.90);

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 toCurrency, 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ố:

use PHPViet\NumberToWords\Transformer;

$transformer = new Transformer();

// sáu nghìn bảy trăm bốn mươi hai đô bảy xen
$transformer->toCurrency(6742.7, ['đô', 'xen']);

// chín nghìn bốn trăm chín mươi hai đô mười lăm xen
$transformer->toCurrency(9492.15, ['đô', 'xen']);

// tám nghìn ba trăm sáu mươi mốt đô bốn xen
$transformer->toCurrency('8361.40', ['đô', 'xen']);

Thay cách đọc số

Trong thư viện ngoài cách đọc tiêu chuẩn còn hổ trợ cho chúng ta lớp PHPViet\NumberToWords\SouthDictionary giúp đọc số theo phong cách trong Nam:

use PHPViet\NumberToWords\Transformer;
use PHPViet\NumberToWords\SouthDictionary;

$transformer = new Transformer();
$southDictionary = new SouthDictionary();
$southTransformer = new Transformer($southDictionary);

$transformer->toWords(101); // một trăm linh một
$southTransformer->toWords(101); // một trăm lẻ một

$transformer->toWords(1000); // một nghìn
$southTransformer->toWords(1000); // một ngàn

$transformer->toWords(24) // hai mươi tư
$southTransformer->toWords(24); // hai mươi bốn

$transformer->toCurrency(124001); // một trăm hai mươi tư nghìn không trăm linh một
$southTransformer->toCurrency(124001); // một trăm hai mươi bốn ngàn không trăm lẻ một

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 PHPViet\NumberToWords\Dictionary hoặc thực thi mẫu trừu tượng PHPViet\NumberToWords\DictionaryInterface:

use PHPViet\NumberToWords\Dictionary;
use PHPViet\NumberToWords\Transformer;

class MyDictionary extends Dictionary {

    /**
     * @inheritDoc
     */
    public function specialTripletUnitFive(): string
    {
        return 'nhăm';
    }

}

$transformer = new Transformer();
$myDictionary = new MyDictionary();
$myTransformer = new Transformer($myDictionary);

$transformer->toWords(15); // mười lăm
$myTransformer->toWords(15); // mười nhăm

Dành cho nhà phát triển

Nếu như bạn cảm thấy thư viện còn thiếu sót hoặc sai sót và bạn muốn đóng góp để phát triển chung, 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 hoặc tạo PR để đóng góp. Cảm ơn!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].