Công cụ này làm gì
Công cụ giúp bạn chuyển một giá trị số thành dạng chữ viết bằng tiếng Anh. Bạn có thể chọn một trong ba kiểu kết quả: Chữ viết (đọc bản thân con số), Tiền tệ (cụm tiền tệ gồm đơn vị chính và đơn vị phụ, ví dụ dollars và cents), hoặc Check (dòng chuẩn trên séc ngân hàng với số tiền viết bằng chữ kèm số xu thể hiện dưới dạng phân số trên 100). Cách đọc theo hệ "short scale" của tiếng Anh — billion là \(10^9\) và trillion là \(10^{12}\), đây là quy ước phổ biến ở các nước nói tiếng Anh. Tên các loại tiền mang sắc thái từng quốc gia, nhưng quy tắc viết chữ cơ bản thì giống hệt nhau ở mọi nơi.
Cách sử dụng
Nhập con số vào ô đầu tiên. Bạn có thể dùng dấu thập phân, dấu trừ và dấu phân tách hàng nghìn. Tiếp đó chọn định dạng đầu ra. Với chế độ Currency, hãy chọn loại tiền tệ; với chế độ Check, hãy chọn tên loại tiền in trên séc và tùy chọn thêm một từ kết thúc (exactly hoặc only). Cuối cùng chọn kiểu chữ: lowercase (chữ thường), UPPERCASE (chữ hoa toàn bộ), Title Case (viết hoa đầu mỗi từ) hoặc Sentence case (viết hoa đầu câu). Kết quả sẽ tự cập nhật với định dạng bạn chọn được áp dụng sau cùng cho toàn bộ chuỗi.
Giải thích công thức
Phần nguyên được tách thành các nhóm ba chữ số tính từ phải sang trái. Mỗi nhóm được đọc theo thứ tự hàng trăm, rồi hàng chục (ghép với hàng đơn vị bằng dấu gạch nối, ví dụ twenty-one), rồi đến từ chỉ thang bậc (thousand, million, billion...). Cấu trúc tổng quát là:
$$N=\sum_{i=0}^{k} g_i\cdot 1000^{i}\;\Rightarrow\;\text{join}(\text{group}_i + \text{scale}_i)$$Kết quả chữ được tạo theo:
$$\text{words} = \text{intToWords}(\text{integer}) \; [+\; \text{"point"} + \text{digits}]$$Không chèn từ "and" bên trong một con số thuần túy, đúng theo phong cách Mỹ. Ở chế độ Words, mọi chữ số sau dấu thập phân được đọc lần lượt từng số một sau từ "point", giữ nguyên các số 0 ở đầu — nên .05 sẽ thành "point zero five". Ở chế độ Currency và Check, giá trị được làm tròn đến đơn vị xu nguyên để tránh sai số dấu phẩy động:
$$\text{cents}=\operatorname{round}(x\times 100),\;\text{whole}=\lfloor \text{cents}/100\rfloor,\;\text{minor}=\text{cents}\bmod 100$$
Ví dụ minh họa
Nhập 1234.05 ở chế độ Currency với đơn vị dollars và kiểu Title Case. Phần nguyên 1234 được đọc thành "one thousand two hundred thirty-four", phần xu là \(\operatorname{round}(0.05\times 100)=5\) đọc thành "five", cho ra "one thousand two hundred thirty-four dollars and five cents". Sau khi áp dụng Title Case, kết quả là "One Thousand Two Hundred Thirty-Four Dollars And Five Cents".
Câu hỏi thường gặp
Vì sao không có từ "and" trong con số? Tiếng Anh Mỹ lược bỏ "and" bên trong số nguyên; từ này chỉ dùng để ngăn cách phần tiền chính và phần tiền lẻ.
Các loại tiền không có đơn vị xu thì xử lý thế nào? Yên, nhân dân tệ, won và đồng (Việt Nam) không có đơn vị phụ, nên sau khi làm tròn chỉ phần nguyên được đọc thành chữ.
Nếu để trống ô nhập thì sao? Ô trống được xem như số 0 và trả về "zero".