分数計算ツール
変換処理はすべてブラウザ内で完結します。データは送信されません
4 種類の入力を自動で判別します。モードを選ぶ必要はありません。`24/36` は約分、`24 36` は 2 つの整数の最大公約数と最小公倍数、`0.75` は小数から分数への変換、`1/2 + 1/3` は計算式です。どれも簡単に見えますが、2 か所でつまずきます。最小公倍数は極端に大きくなり(10 桁の数がいくつか並ぶと 2^53 を超えます)、分数の計算では分母同士の積も同じように安全な整数の範囲を越えます。JavaScript の通常の数値はエラーを出さずに下位の桁を失うため、ここではすべて BigInt で計算し、どんな大きさでも正確です。小数から分数への変換も正確です。0.1 は本当に 1/10 で、近似ではありません。
機能
- 分数の約分。使った最大公約数も表示します
- 2 つの整数の最大公約数と最小公倍数、互いに素かどうかも判定
- 小数から分数への変換:10 進小数は正確な変換で、近似ではありません
- 分数の四則演算(加減乗除)。結果は自動で約分されます
- 仮分数は帯分数の形でも表示
- 分数の小数値を 12 桁まで表示
- 連分数による近似(任意):π は 355/113 に収束します
- すべて BigInt。大きな整数でも下位の桁を失いません
使い方
- 分数・2 つの整数・小数・式のいずれかを貼り付けます(種類は自動判別)
- 結果がその場で表示されます
- 近似分数が必要な場合は連分数のオプションをオンにします
- 必要な行は行ごとのコピーボタンで取り出せます
よくある質問
- 最小公倍数に BigInt が必要なのはなぜですか?
- 極端に大きくなるからです。21 と 6 の最小公倍数は 42 ですが、隣り合う 10 桁の数どうしでは 20 桁になります。2^53 を超えると JavaScript の通常の数値は警告なしに下位の桁を失い、正しく見えて実際は誤った数値になります。最大公約数・最小公倍数の練習問題はまさにその大きさに当たります。
- 0.1 から分数への変換は正確ですか?
- 本ツールでは正確です。10 進小数から分数への変換は定義上正確な操作で、0.1 は 1/10 です。(なお 0.1 は 2 進浮動小数では循環小数になりますが、それは別の話です。本ツールは文字列から解析し、浮動小数を経由しません。)
- 連分数近似とは何ですか?
- 任意の実数を簡単な分数で近似する方法で、各段階で「分母が一定以下の分数の中で最も近いもの」が得られます。π は 3、22/7、333/106、355/113 と近づき、最後は分母 3 桁で小数第 6 位まで一致します。工学の概算に便利です。
- 負の数や帯分数は使えますか?
- 負の数は使えます。`-24/36` も `1/-2` も認識し、結果は 1 つの書き方に統一されます(分母の符号は分子に移します)。帯分数(`2 1/3` など)は先に仮分数 `7/3` に直してから入力してください。「2 つの整数」の書き方が最大公約数に使われているため、両者は区別できません。
関連ツール
基数変換
変換2・8・10・16・36・64 進数を相互変換。6 通りの結果を一度に表示し、19 桁のスノーフレーク ID も正確に扱えます。すべてブラウザ内で処理します。
単位換算
変換長さ・重さ・温度・エネルギー・圧力・流量・力・密度など 26 分類の単位を換算します。1つ値を入れると、同じ分類の全単位での結果が一度に見られます。
中国語の金額表記
変換数字を中国の伝票で使われる大字(壹万贰仟叁佰肆拾伍元陆角柒分)と、日常の読み方に変換します。ゼロの扱いと「整」の規則にも対応。
タイムスタンプ変換
変換Unix タイムスタンプと日時を相互変換。秒〜ナノ秒を桁数で判別し、小数・負数・Windows FILETIME にも対応します。
日付計算
変換2つの日付の差が何日かを計算し、日・週・月の加減算もできます。日付はカレンダーから選ぶか貼り付けで。終了日を空にすると今日と比較。
Cron 解析
変換cron 式をフィールドごとに日本語で説明し、次回と前回の実行時刻を計算します。絶対に実行されない式はその場で理由を示します。すべてブラウザ内で処理します。