Tác giả: Shinichikudo
Mô tả: Định dạng số tiền (ngăn cách bằng dấu ",") theo các cách khác nhau (dùng vòng lặp, stack, kết hợp vòng lặp và stack)
Thời gian vừa rồi e có project về CTDT và Thuật Toán, trong project có chỗ cần phải xử lí về định dạng số tiền nên nghĩ ra được một số cách để định dạng số tiền nên muốn chia sẻ với mọi người, cũng như mong nhận được ý kiến của mọi người
Cách 1: Dùng 2 vòng lặp
Cách làm việc:
- Method nhận vào đối số là một con số được biểu diễn dưới dạng chuỗi (string)
- Đầu tiên chúng ta sẽ kiểm tra chiều dài chuỗi truyền vào <= 3 kí tự thì bỏ qua
- Công việc tiếp theo, tạo 1 vòng lặp chạy từ vị trí index cuối của chuỗi Number (Number.Length - 1) đến vị trí đầu tiên (Number[0]), mỗi lần chạy sẽ append kí tự ở vị trí thứ i của Number vào tmpFormated. Mỗi lần như vậy commasPos tăng thêm 1.
- Kiểm tra nếu commasPos = 3 và i != 0 thì append dấu "," vào chuỗi tmpFormated và reset commasPos về 0
- Tiếp tục tạo 1 vòng lặp khác, thực hiện duyệt từ cuối chuỗi tmpFormated (tmpFormated.Length - 1) đến vị trí đầu tiên (tmpFormated[0]), và thực hiện append kí tự thứ i của tmpFormated vào chuỗi Fomarted và trả ra kết quả chuỗi sau khi định dạng
VD: Chuỗi đầu vào là 300000
Sau khi thực hiện xong vòng lặp 1, thu được kết quả của tmpFormated là 000,003
Tiếp theo, khi thực hiện vòng 2, thu được kết quả của Formated là 300,000
Cách 2, 3: Sẽ cập nhật sau
