piapia123
ja

分数計算ツール

変換

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

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。大きな整数でも下位の桁を失いません

使い方

  1. 分数・2 つの整数・小数・式のいずれかを貼り付けます(種類は自動判別)
  2. 結果がその場で表示されます
  3. 近似分数が必要な場合は連分数のオプションをオンにします
  4. 必要な行は行ごとのコピーボタンで取り出せます

よくある質問

最小公倍数に 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 つの整数」の書き方が最大公約数に使われているため、両者は区別できません。

関連ツール