← Quay lại mục lục

Bài 14 — Đổi tiền tệ (Currency Converter)

Đổi giữa 6 đồng tiền (VND/USD/EUR/JPY/GBP/KRW). Test round-trip, format số theo currency, swap.

Trung bình #currency #calculator #format #boundary #swap

💱 Bài 14: Currency Converter

Form đổi tiền tệ với 6 đồng tiền phổ biến. Bài tập về tỷ giá hối đoái + format số + boundary.

📌 Tỷ giá tham chiếu (snapshot 2026-04)

CurrencyCodeRate (1 X = ? VND)
Vietnam DongVND1
US DollarUSD25,400
EuroEUR27,500
Japanese YenJPY165
British PoundGBP32,100
Korean WonKRW18.5

📋 Bảng đặc tả

#TênLoạiMô tả
1AmountNumber> 0, max 1,000,000,000,000 (1000 tỷ)
2FromDropdown6 currency
3ToDropdown6 currency, mặc định khác From
4Swap (⇄)ButtonHoán đổi From ↔ To, giữ amount
5ConvertButtonTính kết quả

🎯 Quy tắc tính

  • amount_in_VND = amount_from × rate_from
  • result = amount_in_VND / rate_to
  • Nếu From = To → result = amount (không đổi).
  • Format result: integer cho VND/JPY/KRW, 2 chữ số thập phân cho USD/EUR/GBP.
  • Tất cả hiển thị có dấu phẩy phân cách hàng nghìn.

🎯 Yêu cầu

  1. Test 2 chiều: USD → VNDVND → USD với cùng amount → check round-trip có khớp không.
  2. Test From = To.
  3. Test Swap button: amount giữ nguyên, From/To đổi vị trí.
  4. Test boundary: 0, -1, max, max+1.
  5. Test format: kết quả phải có dấu phẩy, đúng số chữ số thập phân theo currency.
⚠️ Bug được cài cắm: công thức conversion, format số (số chữ số thập phân theo currency), Swap không update đúng, boundary input.
🔐

Vui lòng đăng nhập để nộp bài.

Đăng nhập
🔐

Tab dành cho giảng viên

Tab này chứa danh sách các lỗi đã cài cắm trong form. Vui lòng nhập mã giảng viên để mở khóa. Mã sẽ ghi nhớ trong phiên làm việc — chỉ cần nhập 1 lần cho cả 3 bài.