Chỗ nào trên 4R, mình tìm chưa thấy. Xin link, Thanks!trandangkhoi đã viết:Cái này trên diễn đàn cũng có. Bạn chịu khó tìm trên diễn đàn sẽ thấy thôi
Chắc bác dùng Unicode rồi.anhtuan1066 đã viết:Cái này còn nhiều chổ sai lắm... Tôi vừa thử xong:
Ba trăm năm mươi mốt ngàn hai trăm mười ba = 351023
???
ANH TUẤN
Em đã xem file của bác rồi, chắc bác copy đoạn code em viết nên bị sai mất vài chữ (lúc em Copy từ VBA sang GPE nó bị như vậy nhưng chưa sửa).anhtuan1066 đã viết:Ko có đâu... bạn nói là TCVN mà... thì tất nhiên tôi phải dùng font ABC chứ
Hai trăm mười ba = 23
Kỳ vậy ta
???
ANH TUẤN
Nếu isReversed = True thì sẽ chuyển từ Unicode sang TCVNToTCVN(txtString As String, Optional isReversed As Boolean = True) As String
Nếu blnUnicode = True thì strChu có mã là UnicodeText2Number(strChu As String, Optional blnUnicode As Boolean = False)
Lúc đưa đề tài này, tôi thấy khó sơi lắm, vì cách đọc đôi khi không thống nhất nên khó viết. Thấy các bạn viết, cũng muốn viết theo nhưng tìm thuật toán giải quyết quá khó, hôm nay mới góp bài cho các bạn được.Đọc số ra chữ thì nhiều nhưng có ai có cách đọc chữ ra số chưa
Xin gửi bạn hàm đổi chữ sang số theo TCVN
VD: 2002 đọc là:
hai ngàn lẻ hai
hai nghìn lẻ hai
hai ngàn không trăm lẻ hai
hai nghìn không trăm lẻ hai
....
đều được
Tuy nhiên mới chỉ đọc các số từ [0-999,999,999,999] thôi.
VD:
A1 = "hai ngµn lÎ hai"
B1 =text2number_tcvn(A1) = 2002
Đúng cái mình cần, nhưng thực là bối rối, chả biết phải làm sao để làm được.Lúc đưa đề tài này, tôi thấy khó sơi lắm, vì cách đọc đôi khi không thống nhất nên khó viết. Thấy các bạn viết, cũng muốn viết theo nhưng tìm thuật toán giải quyết quá khó, hôm nay mới góp bài cho các bạn được.
Từ các bài của các bạn đã viết, tôi mở rộng hơn cho đa dạng cách đọc và bảng mã. Cụ thể:
- 1 hàm ChuSangSo dùng chung cho cả 3 bảng mã VNI Windows, TCVN3 và Unicode. Hàm sẽ kiểm tra chuỗi số và chọn bảng mã cho phù hợp.
- Ngoài các từ thông dụng như không, một, hai, ..., chín, tỷ, triệu, ngàn, trăm, mươi, mười, lẻ còn cho phép nhập các từ tương tự như mốt, tư, lăm, tỉ, nghìn, chục, linh hoặc các từ có khả năng sai chính tả như lẽ, tỹ, tĩ.
- Hàm đọc đến 22 chữ số (nghìn tỷ tỷ)
Do số trong Excel chỉ chính xác chỉ đến 15 chữ số (ví dụ nhập số 12345678901234567 thì Excel ghi lại là 12345678901234600) nên nếu kết quả số <= 15 chữ số cho kết quả dạng số, từ 16 đến 22 chữ số cho kết quả dạng chuỗi.
Có sẳn rồi bạn tự tạo ra Add-Ins đi.
Trên máy tính của tôi đọc code bài bạn nói bình thường mà. Và thử 1 số chữ số thấy thành số OK!Vụ tự tạo ra add-in thì thua, tải file về, loay hoay mãi vẫn không làm sao đọc được code. Không đọc được code thì không mò mẫm làm được.