Chèn thêm dấu ngắt câu vào hàm đọc số ra chữ

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

soonwi

Thành viên mới
Tham gia
29/4/09
Bài viết
23
Được thích
2
Em thích cái code này nhưng hiện tại nó chưa có dấu ngăn cách trên giá trị hiển thị, hện tại nó đng đọc ra thế này:

1.253.054,36 (One million two hundred fifty three thousand fifty four dollars and thirty six cents )

Nhưng em muốn nó hiển thị như sau:

1.253.054,36 (One million, two hundred fifty three thousand, fifty four dollars and thirty six cents )

Nhờ các bác giúp em nhé, đây là code của nó (Vui lòng click vào link dưới hộ em, không hiểu sao diễn đàn chỉ giới hạn post 10000 ký tự, em post code vào nó không cho gửi)
Click here
http://www.giaiphapexcel.com/forum/showpost.php?p=10219&postcount=6

Cảm ơn các bác nhiều!
 
Cảm ơn bạn nhưng bạn hiểu nhầm câu hỏi của mình rồi, ý mình hỏi là khi hiển thị lên thì nó phải có dấu phẩy giữa các đơn vị đọc với nhau cơ. Module của bạn đưa vẫn không có cái đó

Đại loại như: Một triệu, không trăm hai lăm nghìn, ba trăm bốn mươi đồng

Chứ không phải: Một triệu không trăm hai lăm nghìn ba trăm bốn mươi đồng
 
Lần chỉnh sửa cuối:
Upvote 0
Em thích cái code này nhưng hiện tại nó chưa có dấu ngăn cách trên giá trị hiển thị, hện tại nó đng đọc ra thế này:

1.253.054,36 (One million two hundred fifty three thousand fifty four dollars and thirty six cents )

Nhưng em muốn nó hiển thị như sau:

1.253.054,36 (One million, two hundred fifty three thousand, fifty four dollars and thirty six cents )

Nhờ các bác giúp em nhé, đây là code của nó (Vui lòng click vào link dưới hộ em, không hiểu sao diễn đàn chỉ giới hạn post 10000 ký tự, em post code vào nó không cho gửi)
Click here
http://www.giaiphapexcel.com/forum/showpost.php?p=10219&postcount=6

Cảm ơn các bác nhiều!
Cách dễ nhất là bạn thêm vào 2 câu gần cuối code
PHP:
USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)
End Function
Thành
PHP:
USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)
USD = Replace(USD, "thousand", "thousand,")
USD = Replace(USD, "million", "million,")
End Function
Nghĩa là thay "million" thành "million,"...
 
Upvote 0
Cách dễ nhất là bạn thêm vào 2 câu gần cuối code
PHP:
USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)
End Function
Thành
PHP:
USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)
USD = Replace(USD, "thousand", "thousand,")
USD = Replace(USD, "million", "million,")
End Function
Nghĩa là thay "million" thành "million,"...
Ồ bác ơi trong quá trình sử dụng em thấy có cái lỗi này không biết xử lý thế nào.
Ví dụ nếu đánh số lẻ:1.253.054,36 thì nó ra (One million, two hundred fifty three thousand, fifty four dollars and thirty six cents) thì hoàn toàn đúng
Nhưng nếu là số chẵn: 1.000.000 thì nó ra (One million, dollars only) thì lại dở vì đáng ra phải viết liền là (One million dollars only)
Có cách nào xử lý được không các bác

Thank các bác nhiều
 
Upvote 0
Ồ bác ơi trong quá trình sử dụng em thấy có cái lỗi này không biết xử lý thế nào.
Ví dụ nếu đánh số lẻ:1.253.054,36 thì nó ra (One million, two hundred fifty three thousand, fifty four dollars and thirty six cents) thì hoàn toàn đúng
Nhưng nếu là số chẵn: 1.000.000 thì nó ra (One million, dollars only) thì lại dở vì đáng ra phải viết liền là (One million dollars only)
Có cách nào xử lý được không các bác

Thank các bác nhiều
Thì bạn lại dùng Replace tiếp
PHP:
USD = Replace(USD, ", dollar", " dollar")
Dòng này đặt sau những dòng thay thế kia.
 
Upvote 0
Bạn thay câu sau:
PHP:
    USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)
USD = Replace(USD, "thousand", "thousand,")
USD = Replace(USD, "million", "million,")
End Function
Thành
PHP:
USD = UCase(Left(ToRead, 1)) & Mid(ToRead, 2)
If InStr(1, USD, "thousand dollars", 1) = 0 Then
  USD = Replace(USD, "thousand", "thousand,")
End If
If InStr(1, USD, "million dollars", 1) = 0 Then
  USD = Replace(USD, "million", "million,")
End If

End Function
ie nếu không tìm thấy "million dollars" or "thousand dollars" thì có dấu ","
 
Upvote 0
Web KT

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

Back
Top Bottom