分数計算機
2/4を入力すると、約分済みの1/2と帯分数、正確な小数が表示されます。2つの分数の四則計算も丸め誤差なしで行え、−8/3のような負の数も−2 2/3と正しく示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 演算
- Simplify
- 1つ目の分子
- 2
- 分数Aの分母
- 4
- 分子
- 1
- 分母
- 2
- 符号
- 1
- 帯分数の整数部
- 0
分数を確実に約分し、浮動小数点の誤差なく加減乗除し、負の帯分数も正しく示したい方向けです。学習・レシピ・工学比・自動テストに使えます。
既約分数とは何か、どう求めるか
分子と分母に1以外の共通の約数がない分数を、既約分数といいます。この計算ツールは、ユークリッドの互除法で2つの数の最大公約数を求め、分子と分母をその数で割ります。たとえば2/4は1/2になります。約分、足し算、引き算、掛け算、割り算のどの結果も、この手順を必ず通ります。整数は分母が1の分数として扱われ、約分のあとも正確なままです。
帯分数と小数でよくある間違い
帯分数は、分数を整数部分と余りに分けた形です。負の数では整数部分を0の方向に切り捨てるため、−8/3は−2 2/3になります。小数は四捨五入ではなく、選んだ桁数(0から12)で切り捨てられるので、実際より細かく見えることはありません。宿題の答え合わせや、レシピの半カップを3倍にする計算、歯車の比の計算に役立ちます。0で割る計算や分母が0の分数は、推測で答えを出さずに受け付けません。
最大公約数で約分
成功結果は常にユークリッドの互除法で既約分数になり、分母は正に保たれます。符号は分子だけに付き、ゼロは 0/1 に正規化されます。中間積は絶対値 10 の 15 乗未満に抑え、ブラウザを止める巨大入力を拒否します。
四則演算と帯分数
約分、加減乗除、帯分数表示、帯分数から仮分数への変換に対応します。帯分数の整数部は 0 方向切り捨てで、−8/3 は −2 2/3 になります。7 のような整数は 7/1 として扱います。
切り捨ての小数
小数欄は整数の筆算割り算を 0 方向に切り捨てた文字列です。2/3 を 2 桁にすると 0.66 で、四捨五入の 0.67 にはなりません。
活用例
学習
分数の宿題を既約解と帯分数・安定小数で確認します。
レシピ
分量比を分数のままで拡大し、小数のずれを避けます。
工学
歯車や抵抗の比を有理数で合成してから切り捨て小数を出します。
よくある質問
負の帯分数は?
−8/3 は −2 2/3 です(整数部は 0 方向切り捨て)。
小数は四捨五入?
いいえ。 0 方向切り捨てです。2/3 の 2 桁は 0.66。
帯分数を仮分数に直すには?
帯分数を変換する項目を選び、整数部分と分数を入力すると、約分済みの仮分数が1つ返ります。7のような整数は、そのまま7/1として扱われます。
負の分数のマイナス記号はどこに付きますか?
常に分子に付きます。どの結果でも分母は正の数に保たれるため、符号は分子の側だけに表示されます。
0はどのように表示されますか?
常に0/1と表示されます。0/5のような形やマイナス付きの0にはならないので、結果を見比べるときに迷いません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/fraction-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"op":"simplify","a_num":2}'const res = await fetch("https://api.kit.forhosting.com/dev/fraction-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"op": "simplify",
"a_num": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/fraction-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"op": "simplify",
"a_num": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/fraction-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"op":"simplify","a_num":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"op":"simplify","a_num":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/fraction-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"op": "simplify",
"a_num": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.fraction_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs_int | 1000000000000000 |
max_decimal_places | 12 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
整数演算のみを使うため、無料ブラウザ版と API は分子・分母・pretty・切り捨て小数でバイト一致します。
切り捨ての小数
桁数は 0〜12、範囲外は invalid_input です。
黙った補正ではなく型付きエラー
分母を勝手に直したり float を近い有理数に書き換えたりしません。分母 0、0 除算、非整数、to_improper の符号矛盾、絶対値オーバーフローは invalid_input を返します。
連携の活用例
CI
API で pretty と分子・分母をゴールデン検証します。
技術的な質問
どう約分しますか?
絶対値のユークリッド互除法のあと、分母を正にします。
文字列 1/2 は?
v1 では不可。整数の分子・分母を送ってください。
分母 0 は?
invalid_input を返し、結果を捏造しません。
ブラウザで無料?
はい。ネイティブアプリは前払い KIT 残高で $0.002 です。