Đọ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ố.

GETPOSThttps://apibox.io.vn/v1/number-to-words

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ênVị tríKiểuBắt buộcMặc định
numberbody|querystringcóSố cần đọc, ví dụ 1250000, 1,250,000.50, 1.250.000 hoặc -12.5.
langbody|querystringkhôngvivi hoặc en.
currencybody|querystringkhôngVND hoặc USD (để trống: đọc số thường).
thousandbody|querystringkhôngnghìnCách đọc hàng nghìn: nghìn hoặc ngàn.
oddbody|querystringkhônglẻCách đọc khi hàng chục bằng 0: lẻ hoặc linh.
capitalizebody|querybooleankhôngtrueViết hoa chữ cái đầu.

Ví dụ

curl "https://apibox.io.vn/v1/number-to-words?number=1250000&currency=VND" \
  -H "Authorization: Bearer YOUR_API_KEY"

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

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →