ローマ数字
1から3999までの整数を入れると、標準的なローマ数字で表示します。1994はMCMXCIV、3999はMMMCMXCIXになり、本の扉や見出し、刻印にそのまま使えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 2,024
- 結果
- MMXXIV
- ローマ数字
- MMXXIV
標準のローマ数字は、I、V、X、L、C、D、Mの七文字で整数を表します。本変換ツールは1から3999までの整数を一つ受け取り、現代のスタイルガイド、著作権表示、アウトライン番号、試験問題で使う正規の減算表記を返します。4を入力すると IV が返り、IIII にはなりません。1994なら MCMXCIV、3999なら上線なしで古典字母が書ける最大値 MMMCMXCIX です。
ローマ数字とは何か、本変換がどう綴るか
標準のローマ数字は値が変わらない七文字を使います。I は1、V は5、X は10、L は50、C は100、D は500、M は1000です。現代の印刷体は大きい順に組み合わせ、同じ文字が四つ続かないよう六つの減算対を置きます。
IV は4、IX は9、XL は40、XC は90、CD は400、CM は900です。本変換はこの約束を十三項目の表で貪欲にたどります。残りが次の重み以上なら対応する文字を足し、重みを引きます。
結果は常に一意の最短正規綴りで、4は IIII ではなく IV、9は VIIII ではなく IX、44は XLIV、1990は MCMXC、2024は MMXXIV になります。ゼロの文字も負の数字も分数の字形もなく、それらは別表記が必要です。
vinculum 上線なしの古典文字は 3999(MMMCMXCIX)で止まるため、受け付ける整数の範囲は1から3999の閉区間です。
小数、指数表記、空文字、配列、ローマ数字そのもののような非数値テキストは拒否します。型変換のあと、ソルバーは n が1から3999の閉区間の整数であることを確かめます。成功時は本体が n を数値としてエコーし、roman と result に同じ大文字の文字列を入れ、省略可能なキーは null ではなく欠落させます。
例: n が 2024 なら roman は MMXXIV、n が 4 なら IV、n が 3999 なら MMMCMXCIX です。小文字や中黒が必要なら表示側で処理してください。契約は常に正規の大文字列です。
整数からローマ数字への変換の用途と、本ツールがしないこと
出版社は今も奥付やコロフォン、映画のクレジットに著作権年をローマ数字で置くため、2026 のような年は即席の表計算なしで MMXXVI になる必要があります。法令や学術のアウトラインは大節を I、II、III とし、小節ではアラビア数字とローマ数字を混ぜます。整数のループからラベルを生成すれば、章を差し込んでも一つずれの誤記を防げます。
時計職人、記念碑の銘、試験も、採点者と彫刻家が IIII と IV で争わないよう、ただ一つの正規綴りを求めます。本機能は意図して一方向です。ローマ文字列をアラビア数字へ戻さず、4000以上の vinculum 上線も出さず、uncia の十二分の一などの分数ローマ単位も符号化しません。
それが必要なら、この範囲を無理に伸ばさず、大きな数字や分数専用の変換をご利用ください。テストには基準整数 4、9、44、1994、2024、3999 を固定してください。減算対のすべてと上限を覆います。
活用例
著作権年と映画クレジット
刊行年や制作年をローマ数字(例: 2026 を MMXXVI)として、標題紙、奥付、エンドクレジットに描画します。
アウトラインと条項の番号付け
整数のループから I、II、III の節見出しを生成し、準備書面、シラバス、目次を正規の減算形に保ちます。
よくある質問
ローマ数字に変換できる整数の範囲は何ですか?
1から3999までの整数です。ゼロの標準文字はなく、3999(MMMCMXCIX)は vinculum 上線なしで古典記号が書ける最大値です。
なぜ 4 は IIII ではなく IV になるのですか?
現代の減算表記は四を IV(五の直前の一)と書き、I を四つ並べません。文字盤の加算 IIII は組版の慣習であり、本変換は出力しません。
0、4000、小数を送るとどうなりますか?
n は 1 から 3999 の整数である必要があり、小数、ゼロ、負数、3999 を超える値は範囲外で課金されません。
2026をローマ数字で書くとどうなりますか?
MMXXVIです。Mが2つで二千、XXで二十、VIで六を表します。年を入力すれば、本の扉や奥付、映画のクレジットにそのまま使える形で返します。
ローマ数字の各文字はいくつを表しますか?
Iは1、Vは5、Xは10、Lは50、Cは100、Dは500、Mは1000です。文字の値は変わらず、並び順によって足すか引くかが決まります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/conv/roman-numerals \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":2024}'const res = await fetch("https://api.kit.forhosting.com/conv/roman-numerals", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 2024
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/roman-numerals",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 2024
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/roman-numerals", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":2024}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":2024}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/roman-numerals", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 2024
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.roman_numerals",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min | 1 |
max | 3999 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
0、負数、小数、その閉区間外の整数は invalid_input で失敗し、課金されません。
ローマ数字とは何か、本変換がどう綴るか
四を IIII と刷る加算式の文字盤は組版の慣習であり、本エンドポイントが返す減算形ではありません。
入力契約、範囲検査、返る JSON
必須の整数フィールド n を一つ持つ JSON オブジェクトを POST してください。フォームや SDK がペイロード内の既存名を使えるよう、別名 value、number、integer を受け付けます。値は JSON 整数でも、先頭に任意の正号を付けた数字だけの文字列でも構いません。ゼロはこの字母ではローマ数字ではなく、4000は vinculum か古典の四つの M を超える余分な M が要り、負数には標準文字がないため、これらの場合はフィールド n を示す invalid_input となり課金されません。公表価格は成功した API 呼び出しごとに $0.002 です。
整数からローマ数字への変換の用途と、本ツールがしないこと
算法は短い表走査で、ネットワークもモデルトークンもないため、成功した要求は parse 段階の価格 $0.002 に留まり、失敗した検証は前払い残高を消費しません。
連携の活用例
宿題とスタイルガイドの確認
学習者と校正者が、API と同じ貪欲表に照らして 4 が IV、9 が IX、1994 が MCMXCIV であることを確認できます。
技術的な質問
ローマ数字の文字列をアラビア整数へ戻せますか。
いいえ。本ページは整数からローマ数字への一方通行です。フィールド n を整数で送ってください。文字だけの文字列は invalid_input で拒否されます。
ローマ数字変換の料金はいくらですか。
ブラウザのツールは無料です。API 要求は成功した呼び出しごとに前払いの KIT 残高から $0.002 を使い、無効な入力は課金されません。