Đọc số thành chữ API
Đọc số và số tiền thành chữ tiếng Việt hoặc tiếng Anh cho hoá đơn, phiếu thu: VND, USD, số thập phân, số âm, tối đa 21 chữ số.
API đọc số thành chữ chuyển 1250000 thành “Một triệu hai trăm năm mươi nghìn đồng” hoặc “one million two hundred fifty thousand”. API theo đúng các quy tắc đọc dễ sai trong tiếng Việt: “mốt” và “lăm” (21 → hai mươi mốt, 15 → mười lăm), “lẻ/linh” khi hàng chục bằng 0 (105 → một trăm lẻ năm), “không trăm” trong số lớn (1.000.005 → một triệu không trăm lẻ năm) và cách lặp “nghìn tỷ, triệu tỷ”.
Đặt currency=VND để thêm “đồng” (không cho phép phần thập phân) hoặc currency=USD để đọc “đô la Mỹ … xu” / “dollars and … cents”. Nếu không có đơn vị tiền, phần thập phân được đọc sau “phẩy” hoặc “point”. thousand=ngàn và odd=linh chuyển sang cách đọc miền Nam / trang trọng; chữ cái đầu được viết hoa trừ khi capitalize=false.
Đầu vào khá linh hoạt: 1250000, 1,250,000.50, 1.250.000 (dấu chấm ngăn cách hàng nghìn kiểu Việt Nam), 1 250 000 và hậu tố đ, VND đều được hiểu. API trả lại số đã chuẩn hoá để bạn kiểm tra cách đọc. Một dấu chấm duy nhất luôn được hiểu là dấu thập phân.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
number | body|query | string | có | Số cần đọc, ví dụ 1250000, 1,250,000.50, 1.250.000 hoặc -12.5. | |
lang | body|query | string | không | vi | vi hoặc en. |
currency | body|query | string | không | VND hoặc USD (để trống: đọc số thường). | |
thousand | body|query | string | không | nghìn | Cách đọc hàng nghìn: nghìn hoặc ngàn. |
odd | body|query | string | không | lẻ | Cách đọc khi hàng chục bằng 0: lẻ hoặc linh. |
capitalize | body|query | boolean | không | true | Viết hoa chữ cái đầu. |
Ví dụ
curl "https://apibox.io.vn/v1/number-to-words?number=1250000¤cy=VND" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/number-to-words?number=1250000¤cy=VND', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/number-to-words?number=1250000¤cy=VND",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/number-to-words?number=1250000¤cy=VND');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"number": "1250000",
"lang": "vi",
"currency": "VND",
"text": "Một triệu hai trăm năm mươi nghìn đồng"
}
Ứng dụng
- In số tiền bằng chữ trên hoá đơn, phiếu thu, phiếu chi
- Sinh hợp đồng có ghi số tiền bằng chữ
- Đọc số cho tính năng giọng nói, hỗ trợ người khiếm thị
- Đối chiếu số tiền bằng chữ với số tiền bằng số
Hỏi đáp
Số 1.000.005 đọc thế nào?
“Một triệu không trăm lẻ năm”. Các nhóm sau nhóm khác 0 đầu tiên được đọc đầy đủ (“không trăm”) và hàng chục bằng 0 đọc là “lẻ” (hoặc “linh” khi odd=linh).
Đọc được số lớn đến đâu?
Tối đa 21 chữ số phần nguyên (đến “trăm tỷ tỷ”) và 10 chữ số thập phân.
Dùng “nghìn” hay “ngàn”?
Mặc định là “nghìn” như đa số phần mềm hoá đơn; truyền thousand=ngàn để đọc kiểu miền Nam.
API liên quan
So sánh văn bản
So sánh hai đoạn văn bản theo dòng, từ, ký tự, câu hoặc JSON; nhận danh sách thay đổi, tỉ lệ giống nhau và bản diff dạng unified.
a-bTạo slug
Chuyển tiêu đề thành slug URL gọn gàng: bỏ dấu tiếng Việt (cả chữ đ), tuỳ chọn ký tự phân cách, giữ chữ hoa và giới hạn độ dài.
123Thống kê văn bản
Đếm số từ, ký tự, câu, đoạn và dòng; ước tính thời gian đọc và thời gian nói; liệt kê các từ xuất hiện nhiều nhất trong văn bản.