Câu hỏi của tôi. Có cách nào để làm cho chức năng moneyInIndiaFormat của tôi ngắn hơn, ngắn gọn hơn và rõ ràng hơn không?
Ghi chú. Câu hỏi của tôi chủ yếu dựa trên việc triển khai
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
5 vấn đề đã nêu ở trên. Nó không trùng lặp với các câu hỏi đã hỏi trước đây liên quan đến việc chuyển đổi tiền tệ sang định dạng Ấn Độ Phải định dạng thủ công một số dưới dạng chuỗi tiền tệ có thể là một quá trình tẻ nhạt. Bạn có thể chỉ cần thực hiện một vài dòng sửa đổi, tuy nhiên, khi chúng tôi cần thực hiện một số chuyển đổi hợp lý, nó sẽ trở nên rất tẻ nhạt
Bước đầu tiên để tự động hóa các loại nhiệm vụ này sẽ yêu cầu một chức năng. Trong bài viết này, chúng ta sẽ xem xét một số phương pháp bạn có thể sử dụng để định dạng số dưới dạng chuỗi tiền tệ trong Python
Phương pháp định dạng số
Chúng ta sẽ xem qua ba thư viện và hàm thay thế cho phép chúng ta chuyển đổi số thành chuỗi tiền tệ
- Mô-đun bản địa
- mô-đun Babel
- Hàm
1en_GB af_ZA sq_AL gsw_FR am_ET ar_SA ar_IQ ar_EG ar_LY ar_DZ ...
Tuy nhiên, mô-đun
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
2 đã được bao gồm trong Python, chúng tôi sẽ phải cài đặt Babel để sử dụng nóĐịnh dạng số dưới dạng chuỗi tiền tệ với ngôn ngữ
Mô-đun
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
2 đã được cài đặt sẵn với phiên bản Python của bạnGói này cho phép các nhà phát triển bản địa hóa các ứng dụng của họ. Có nghĩa là họ không cần biết phần mềm của họ sẽ chạy ở khu vực nào, họ chỉ cần viết một cơ sở mã chung sẽ tự động thay đổi tùy thuộc vào khu vực sử dụng
Đang khởi tạo miền địa phương
Để bắt đầu sử dụng mô-đun
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
2, trước tiên bạn cần đặt ngôn ngữĐoạn mã trên sẽ tạo ra đầu ra sau
English_United States.1252
en_GB
Để có danh sách các ngôn ngữ khả dụng, bạn có thể tra cứu nó trên MS-LCID. Ngoài ra, bạn có thể in nó ra
Chạy bất kỳ biến thể nào ở trên sẽ mang lại kết quả tương tự như
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
Định dạng số bằng ngôn ngữ
Với bộ ngôn ngữ ưa thích của bạn, bạn có thể dễ dàng định dạng chuỗi số
Chạy đoạn mã trên, chúng tôi nhận được đầu ra sau
$12,345.67
$12345.67
Sử dụng str. phương thức định dạng[]
Phương pháp tiếp theo chúng ta sẽ đề cập là phương pháp
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
1, phương pháp này có ưu điểm là phương pháp đơn giản nhấtChạy đoạn mã trên, chúng tôi nhận được đầu ra sau
________số 8Mặc dù vậy, cách tiếp cận này được mã hóa cứng, không giống như cách trước đó, bạn có thể sử dụng cách này để bản địa hóa định dạng một cách linh hoạt
Định dạng số dưới dạng chuỗi tiền tệ với Babel
Sử dụng Babel có lẽ là một trong những phương pháp ít được biết đến hơn, tuy nhiên nó rất thân thiện và trực quan. Nó đi kèm với định dạng số và tiền tệ cũng như các tác vụ quốc tế hóa khác
Không giống như mô-đun
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
2 của Python, bạn không phải lo lắng về việc điều chỉnh trên quy mô toàn cầuĐể cài đặt
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
7 qua en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
8, hãy chạy lệnh sauHãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
2Sau khi cài đặt, để đạt được kết quả tương tự như hai phương pháp khác được liệt kê ở trên, bạn chỉ cần gọi
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
9 trên một chuỗiChạy đoạn mã trên, chúng tôi nhận được đầu ra sau
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
4Để có được danh sách đầy đủ các ngôn ngữ có sẵn
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
5Trông giống như thế này
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
6Tìm kiếm các số trong chuỗi và định dạng dưới dạng tiền tệ
Đôi khi, bạn không làm việc với đầu vào số trực tiếp, chẳng hạn như đầu vào từ người dùng. Bạn có thể đang làm việc với một câu hoặc một kho văn bản lớn hơn, ô uế. Chúng ta có thể sử dụng mô-đun
$12,345.67
$12345.67
0 để lọc qua các loại đầu vào khác nhau, tìm các giá trị số và định dạng chúngHãy sử dụng cả ba cách tiếp cận trên để định dạng đơn vị tiền tệ trong câu
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
8Tiếp theo, chúng tôi đưa ra mẫu regex cần thiết để khớp với các chuỗi số
Tiếp theo, chúng ta áp dụng ba phương thức đã học cho biến chuỗi
$12,345.67
$12345.67
1Hãy so sánh đầu ra ban đầu với đầu ra nhận được từ cả ba phương pháp
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
0en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
0Tùy thuộc vào phương pháp bạn thích, độ dài của tập lệnh này có thể được giảm bớt. Có những hạn chế nhất định như bạn có thể nhận thấy
Tập lệnh không thể phân biệt giữa các chuỗi số bạn muốn định dạng. Tuy nhiên, nó có thể được thay đổi dễ dàng tùy thuộc vào nhu cầu và trường hợp sử dụng của bạn
Phần kết luận
Trong bài viết này, chúng tôi đã xem xét một số cách chuyển đổi số thành chuỗi tiền tệ thích hợp. Chúng tôi đã đề cập đến phương pháp
en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
1, cũng như các mô-đun en_GB
af_ZA
sq_AL
gsw_FR
am_ET
ar_SA
ar_IQ
ar_EG
ar_LY
ar_DZ
...
2 và $12,345.67
$12345.67
4Cuối cùng, chúng tôi đã kết hợp các phương thức này với mô-đun biểu thức chính quy của Python để đạt được phạm vi sử dụng rộng hơn. Cuối cùng, tôi hy vọng bạn có thể học được điều gì đó mới từ tất cả những điều này có thể giúp bạn tiết kiệm thời gian