Công cụ Chuyển Đổi Ngày Sang Số La Mã là gì?
Công cụ này biến một ngày tháng thông thường trên lịch thành chuỗi số La Mã như XII_XXV_MMXXIV, đồng thời cũng làm được điều ngược lại — chuyển số La Mã trở về số thông thường. Nó được ưa chuộng cho hình xăm, trang sức khắc chữ, nhẫn cưới, quà kỷ niệm và những dòng chữ khắc trên đài tưởng niệm, nơi mà ngày tháng viết bằng số La Mã mang vẻ cổ điển, vượt thời gian.
Cách sử dụng
Hãy nhập giá trị vào từng ô Tháng, Ngày và Năm. Mỗi ô đều chấp nhận hoặc số Ả Rập (chẳng hạn 12) hoặc số La Mã (chẳng hạn XII) — công cụ sẽ tự nhận biết bạn nhập kiểu nào và xuất ra kiểu còn lại, nên nó hoạt động theo cả hai chiều, theo từng ô riêng biệt. Chọn Định dạng để quyết định thứ tự ba phần xuất hiện: US (tháng, ngày, năm), EU (ngày, tháng, năm) hoặc ISO (năm, tháng, ngày). Chọn Dấu phân cách để quyết định ký tự đặt giữa các phần: dấu chấm, chấm giữa, dấu chấm tròn, gạch ngang, khoảng trắng, gạch dưới hoặc gạch chéo. Để trống một ô nếu bạn muốn bỏ phần đó khỏi kết quả.
Giải thích công thức
Để chuyển từ số Ả Rập sang số La Mã, công cụ dùng ký hiệu trừ chuẩn. Nó duyệt qua các cặp giá trị/ký hiệu theo thứ tự giảm dần:
$$n = \sum_{i} \text{symbol}_i \quad \text{(greedy subtractive: }1000{=}M,\ 900{=}CM,\ \dots,\ 1{=}I\text{)}$$(1000=M, 900=CM, 500=D, 400=CD, 100=C, 90=XC, 50=L, 40=XL, 10=X, 9=IX, 5=V, 4=IV, 1=I) và lần lượt thêm ký hiệu lớn nhất phù hợp, trừ đi giá trị tương ứng, cho đến khi không còn gì:
$$\text{while } n>0:\ \text{append largest symbol} \le n,\ n \mathrel{-}= \text{its value}$$Để chuyển từ số La Mã sang số Ả Rập, nó quét từ trái sang phải và trừ một ký hiệu khi sau nó có ký hiệu lớn hơn (như \(IX = 9\)), còn lại thì cộng:
$$v = \sum_i \begin{cases} -s_i & s_i < s_{i+1} \\ +s_i & \text{otherwise} \end{cases}$$
Ví dụ minh họa
Với tháng=12, ngày=25, năm=2024 theo định dạng US và dấu phân cách gạch dưới: 12 trở thành XII, 25 trở thành XXV, và 2024 trở thành MMXXIV (\(MM=2000\), \(XX=20\), \(IV=4\)). Ghép lại theo thứ tự US, ta được XII_XXV_MMXXIV. Chuyển sang thứ tự ISO với dấu chấm làm dấu phân cách thì kết quả là MMXXIV.XII.XXV.
Câu hỏi thường gặp
Số lớn nhất có thể chuyển đổi là bao nhiêu? 3999 (MMMCMXCIX). Số La Mã chuẩn không có ký hiệu riêng cho 4000, nên những giá trị lớn hơn không được hỗ trợ.
Có hiển thị được năm 0 hay số âm không? Không. Số La Mã không có ký hiệu cho số 0, và giá trị nhỏ nhất biểu diễn được là 1.
Công cụ có kiểm tra ngày có thật hay không? Không. Mỗi thành phần được chuyển đổi độc lập, nên công cụ vẫn sẵn sàng đổi ngày 31 của tháng 2 — đây thuần túy là công cụ đổi số, không phải bộ kiểm tra tính hợp lệ của ngày tháng.