Đọc chữ ra số (2 người xem)

  • Thread starter Thread starter pntrung
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

pntrung

Thành viên mới
Tham gia
26/9/07
Bài viết
3
Được thích
0
:{{ Đọc số ra chữ thì nhiều nhưng có ai có cách đọc chữ ra số chưa
 
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
 
Upvote 0
Đọc chử mà ra dc số e rằng khó đấy! Số ra chử thì nó có quy luật hẳn hoi.. Chử thì làm sao đây? Quy định như thế nào mới gọi là VIẾT ĐÚNG? Chỉ nội cách đọc của từng miền cũng nhức đầu rồi...
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
vân... vân...
Vậy mình viết theo kiểu nào để nó dịch lại thành 2002 ???
ANH TUẤN
 
Upvote 0
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
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
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
 
Upvote 0
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
Chắc bác dùng Unicode rồi.
Em Test lại đúng câu của bác, kết quả đúng đấy chứ.
(Đây là hàm em viết cho TCVN)
 
Upvote 0
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

Thôi... tôi gữi file lên bạn xem sai sót chổ nào nhé!
ANH TUẤN
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
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
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).
Bác download file đính kèm tại #5 nhé.
 
Upvote 0
Tôi dùng cả 2 thằng luôn... Lúc đầu là Unikey.. nghe bạn nói tôi thử luôn Vietkey.. cũng ko dc... Hai trăm mười ba vẫn = 23 ??? Bạn xem file thử với.. có thể tôi sai chổ nào chăng?
Tôi cũng sợ là khi copy code trên diển đàn có sai sót gì đo! Mà nhìn như đám rừng thì biết đâu mà sửa! Hay bạn làm ơn làm 1 file và post lên dc ko?
........................
Sorry... tôi down dc file rồi.. Kết quả đúng... cám ơn bạn!
ANH TUẤN
 
Lần chỉnh sửa cuối:
Upvote 0
Em tét rồi, thấy chạy tốt, chưa phát hiện lỗi nào. Nhưng hình như hàm này chạy hơi chậm. Hi hi nhưng thế cũng quá tuyệt vời rồi. Thanks bác nvson nhé !

Thân!
TDN
 
Upvote 0
Bạn nvson ơi: Liệu có thể tạo ra UDF tương tự nhưng bằng Font Unicode dc ko? Tại tôi thích font Unicde hơn...
Cả hàm đổi chử ra số và số ra chứ, tôi nghĩ nếu làm dc với font Unicode thì sẽ rất tuyệt vời.. Nó mang tính đại chúng hơn... Qua Mỹ cũng xài dc... hi... hi...
ANH TUẤN
 
Upvote 0
Vâng em sẽ viết lại hàm đổi chữ ra số theo cả TCVN lẫn Unicode
Trong file có sử dụng hàm chuyển đổi từ TCVN sang Unicode và ngược lại (sưu tầm).
'
- Cách sử dụng hàm chuyển đổi:
ToTCVN(txtString As String, Optional isReversed As Boolean = True) As String
Nếu isReversed = True thì sẽ chuyển từ Unicode sang TCVN
Nếu isReversed = False thì sẽ chuyển từ TCVN sang Unicode
'
- Cách sử dụng hàm chuyển đổi từ chữ sang số:
Text2Number(strChu As String, Optional blnUnicode As Boolean = False)
Nếu blnUnicode = True thì strChu có mã là Unicode
Nếu blnUnicode = False thì strChu có mã là TCVN
 

File đính kèm

Upvote 0
Đọc số ra chữ thì nhiều nhưng có ai có cách đọc chữ ra số chưa
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.
 

File đính kèm

Upvote 0
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

Hay phết nhỉ. Thanks bạn cái :)
 
Upvote 0
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.
Đú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.+-+-+-+
 
Upvote 0
Túm lại là vẫn chưa có add-in đọc chữ ra số như add-in đọc số ra chữ?
 
Upvote 0
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.
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!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom