基数から序数への変換ツール
21は21stになり、間違えやすい11th、12th、13thも正しく、11stにはなりません。順位表やレース結果、賞状、商品説明の文言に同じ規則で使え、装飾用に接尾辞だけも取り出せます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 21
- 序数
- 21st
- 接尾辞
- st
文章、製品コピー、順位表、ドキュメント生成では、整数の序数形が絶えず必要になります。1位は1st、2位は2nd、21位は21stです。これを手作業で行うと、10番台や1・2・3で終わる数で1つずれる誤りを招きます。本機能は1つの整数を受け取り、1組の決定論的な規則で、正しい接尾辞を付けた標準的な英語の序数略記を返します。
序数略記とは何か、いつ必要になるか
基数は「いくつか」に、序数は「並びの何番目か」に答えます。英語では短い序数を、数字に2文字の接尾辞を付けて書くことがよくあります。1st, 2nd, 3rd, 4th です。
これらの形はレースの順位、章見出し、リリースノート、スポーツの対戦表、記念ラベル、住所欄、項目に順位を付けるUI文字列に現れます。難しいのは、ほとんどの数が th を取ると覚えることではなく、例外を一貫して適用することです。
1で終わる数は通常 st を取りますが eleven は例外、2で終わる数は nd を取りますが twelve は例外、3で終わる数は rd を取りますが thirteen は例外です。10番台の11〜19や10の倍数を含め、その他すべての場合は th を取ります。
表計算や場当たり的な条件分岐は、11〜13を誤って扱ったり、下2桁を確認せずに1桁目だけを適用したりしがちで、11が11st、23が23thになります。整数を1つ送ると、元の数、完全な序数文字列、そしてスタイリング用の接尾辞単体を持つ安定したオブジェクトが得られます。
変換の仕組みと、有効な入力の条件
アルゴリズムは純粋で決定論的です。入力が真の整数であることを検証したのち、変換器は絶対値を取り、下2桁を見て、st、nd、rd、th を選びます。下2桁が eleven、twelve、thirteen を成す場合、接尾辞は常に th です。
そうでなければ最後の1桁が決めます。1は st、2は nd、3は rd、その他のすべての桁は th に対応します。元の数の符号は数字に保たれるため、負の整数は桁と接尾辞の前にマイナス記号を保ちます。
0は0thになります。 整数でない値は拒否されます。JavaScript環境で結果が正確に保たれるよう、安全な整数の範囲が適用されます。本機能にロケール切り替えはありません。
略記は製品UIや技術文書で使われる一般的な英語の編集慣行に従います。応答には常に number、ordinal、suffix が含まれるため、利用側はクライアント側で規則を再導出せずに、完全な形を表示したり接尾辞を別途スタイリングしたりできます。
活用例
リーダーボードとレース結果
順位の整数を1st, 2nd, 3rdのラベルに変え、すべてのクライアントに接尾辞表をハードコードせずに順位表、表彰台、イベント後のまとめに用います。
ドキュメントと証明書の生成
PDFや差し込み印刷の出力を描画する際、記念の文言、版番号、順位付きの表彰行に正しい英語の序数を挿入します。
よくある質問
序数変換ツールはどのような入力を受け付けますか?
1つの整数(例:1、21、-3)で、任意で小数点のない数字文字列としても指定できます。
11、12、13はどう扱われますか?
1、2、3で終わっていても、常に th 接尾辞を取ります(11th、12th、13th)。同じ10番台の規則が111th、112th、113thにも適用されます。
成功した応答には何が含まれますか?
number としての元の整数、ordinal としての完全な略記(例:21st)、そして任意のスタイリング用の2文字の suffix 単体です。
英語以外の言語に対応していますか?
いいえ。 本機能は英語の序数略記のみを実装します。他の言語は異なる形態を用いるため、専用のフォーマッタで扱ってください。
ゼロや負の数はどうなりますか?
ゼロは0thになり、負の整数は数字と接尾辞の前にマイナス記号が付いたままになります。21.5のような小数は、整数でないと序数にならないため受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fmt/ordinal \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":21}'const res = await fetch("https://api.kit.forhosting.com/fmt/ordinal", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": 21
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/ordinal",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": 21
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/ordinal", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":21}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":21}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/ordinal", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": 21
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.ordinal",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
手早い確認にはブラウザで無料でお使いいただけるほか、パイプラインで同じ結果が必要なときは、成功1リクエストあたり$0.002でAPIを呼び出せます。
序数略記とは何か、いつ必要になるか
規則を1つのエンドポイントの背後に集約すれば、マーケティングコピー、PDFテンプレート、モバイル画面がすべて同じ順位を同じ綴りで表せます。
変換の仕組みと、有効な入力の条件
21.5のような浮動小数点数、小数点を含む文字列、空欄、数値でないテキストはすべて invalid_input と、整数が必要である旨の明確なメッセージで失敗します。
どこで実行するか:無料のブラウザツールか自動化APIか
一度きりの確認、たとえば twenty-first が21stであること、twelfth が12thであること、順位表が2thと表示しないことの確認には、本ページの無料のブラウザ内ツールをお使いください。作業は軽量なtier-Aの解析ロジックであるため、レイテンシは低く保たれ、デプロイのたびに再検証すべきモデルのぶれもありません。製品がより多くの言語で提供される場合、それらのロケールの序数表現は別のフォーマッタに保ってください。同じ純粋な関数は、証明書、リーダーボード、請求明細、ニュースレターの件名、英語の序数を使う地域化テンプレートを生成するとき、API経路を支えます。成功したAPI呼び出しごとに$0.002がかかります。検証失敗は課金されないため、不正な浮動小数点数の調査やフィールドの省略でプリペイド残高が減ることはありません。本エンドポイントは英語の略記の契約のみを担います。
連携の活用例
製品コピーとCMSテンプレート
順位やステップのフィールドを、1つの共有規則でリリースノート、オンボーディング手順、マーケティングブロックの序数文字列に展開します。
技術的な質問
APIの費用はいくらですか?
成功1リクエストあたり$0.002です。ブラウザ版は無料です。無効な非整数の入力は課金されません。