Menu

小数を分数に変換

どんな小数も既約分数で正確に。循環小数にも対応します。

著者 Nethanel Bar, 共同創業者兼CEO

最終更新

計算ツールなしで解けるようになりたいですか?

Coddy の数学コースは解き方そのものを教えます。対話式のボードで一手ずつ進め、どこで手順が狂ったのかを正確に教えてくれます。

小数はすでに分数です

小数とは、ある書き方をされた分数のことです。0.375 は 1000 分の 375、つまり 375/1000 を意味し、これは約分して 3/8 になります。有限小数の方法はこれで全部です。数字を適切な 10 の累乗の上に書き、分子と分母をその最大公約数で割る、それだけです。

循環小数にはもう少し賢い手が要ります。そしてこれこそ、ほとんどの計算機が見せてくれない部分です。0.1666… は 10 の累乗の上に書けません。数字が終わらないからです。代わりに、無限に続く尾がぴったり重なるようにずらした 2 つの複製を作り、引き算します。尾は正確に打ち消し合い、あとには割り算のできるふつうの整数が残ります。

ここではすべてが正確です。浮動小数点で計算していないので、0.1 は本当に 10 分の 1 であって、コンピューターが普段そう呼んでいる 0.1000000000000000055 ではありません。1/7 のような分数も、それに丸まる何かではなく 1/7 として返ってきます。

注目すべきところ

  • 小数点以下の桁数が、そのままゼロの個数です。3 桁なら 1000 分の——約分する前は、必ずそこから始まります。
  • 約分は探し物ではなく 1 回の割り算です。分子と分母を最大公約数で一度割れば既約になります。2 で割り続けても着きますが、遅いだけです。
  • 循環小数は 10 の累乗の上には決して来ません。9 の並び(とときには 0)の上に来ます。0.(3) は 3/9、0.(45) は 45/99 で、これは形を変えた引き算です。
  • 百分率も正確なままです。1/6 は 16.67% ではなく 16⅔% です。正確な分数を丸めた百分率にするのは後退です。
  • 0.999… は本当に 1 です。方法にかけてみてください。式は 9x = 9 となり、x = 1 です。近似でも記号上の細工でもありません。

小数を分数に直す手順

  1. 小数点以下の桁数を数える

    小数点の後の数字を整数として書き、1 のあとにその桁数だけ 0 が並ぶ数の上に置きます。0.375 は 3 桁なので 375/1000 から始まります。

  2. 最大公約数を求める

    分子と分母の両方を割り切る最大の数を探します。375 と 1000 なら 125 です。

  3. 両方をそれで割る

    375 ÷ 125 = 3、1000 ÷ 125 = 8 なので 0.375 = 3/8 です。最大公約数が 1 なら、その分数はもともと既約でした。

  4. 循環小数はずらして引く

    10 の累乗を掛けて循環部分を小数点の左へ送り、元の数(必要ならずらしたもの)を引くと、無限の尾が打ち消し合います。0.1(6) と入力すれば、このページが各行を書き出します。

よく出る小数と分数

覚えておく価値のある変換です。それ以外は上の計算ツールが正確に処理します。

小数分数百分率
0.11/1010%
0.1251/812.5%
0.21/520%
0.251/425%
0.333…(0.(3))1/333⅓%
0.3753/837.5%
0.51/250%
0.6255/862.5%
0.666…(0.(6))2/366⅔%
0.753/475%
0.8757/887.5%
0.1666…(0.1(6))1/616⅔%

例題

有限小数:0.375

plain
0.375

小数点以下 3 桁なので 375/1000 から始めます。375 と 1000 の最大公約数は 125 で、両方をそれで割ると 3/8 です。2 行で終わり、間違いが隠れられるのは 2 行目だけ。最大公約数を取り違えると 15/40 が残ります。正しくはありますが既約ではなく、たいてい減点されます。

純循環小数:0.(3)

plain
0.(3)

x = 0.333… とおきます。10 を掛けると 10x = 3.333…。2 つの尾は同一なので、引くとちょうど 9x = 3 が残り——どこにも近似はありません——x = 3/9 = 1/3 です。分母の 9 は偶然ではありません。循環する桁が 1 つなら必ず 9 分の何かになります。

混循環小数:0.1(6)

plain
0.1(6)

ここでは 1 は循環せず 6 だけが循環するので、ずらしが 2 回必要です。100x = 16.666…、10x = 1.666…、引くと 90x = 15 で、x = 15/90 = 1/6。90 は 9(循環 1 桁)× 10(非循環 1 桁)で、この種の分母はすべてここから来ます。

1 より大きい場合:2.5

plain
2.5

方法は変わりません。25/10 を 5 で約分して 5/2 です。分子が分母より大きいので仮分数であり、計算ツールは帯分数 2½ も示します。どちらの形で答えるべきかは問題次第です。仮分数は計算しやすく、帯分数は量を思い描きやすい形です。

よくある間違い

  • 小数点より前の桁を数えてしまう。10 の累乗を決めるのは小数点以下の桁だけです。2.5 は 1 桁なので 25/10 であり、25/100 ではありません。
  • 既約になる前でやめてしまう。375/1000 は別の問いへの正しい答えです。多くの採点基準は 3/8 を求めます。
  • 循環小数を 10 の累乗の上に置く。0.(3) は 3/10 でも 33/100 でもなく 3/9 です。終わらない数字には引き算の方法が要ります。
  • 先に丸めてしまう。0.333(3 桁)を変換すると 333/1000 になり、これは 1/3 ではありません。循環するならかっこか点でそう書いてください。
  • 符号を忘れる。-0.75 は -3/4 で、マイナスは分数全体に付きます。分子と分母に別々に付くのではありません。
  • 0.999… を「ほぼ 1」と読む。ちょうど 1 であり、上の式が 2 行で証明しています。

よくある質問

小数を分数に直すには?
小数点の後の数字を、1 のあとに小数の桁数だけ 0 が並ぶ数の上に書き、分子と分母を最大公約数で割ります。0.375 は 375/1000 になり、両方を 125 で割ると 3/8 です。循環小数には別の方法が要ります——次の答えをご覧ください。
循環小数はどう変換しますか。
それを x とおき、10 の累乗を掛けて循環部分を小数点の左へ送り、そこから元の数を引きます。無限に続く尾は同一なので正確に打ち消し合い、整数が残ります。0.(3) なら 10x = 3.333… から x = 0.333… を引いて 9x = 3、x = 1/3 です。ここには 0.(3) でも 0.333... でも入力でき、各行が書き出されます。
0.375 を分数にするといくつですか。
3/8 です。375/1000 から始まり、375 と 1000 の最大公約数は 125 なので、3 分の 8 ではなく 8 分の 3 が残ります。百分率ではちょうど 37.5% です。
0.999... は本当に 1 と等しいのですか。
はい、まったく等しく、同じ方法で証明できます。x = 0.999… とおくと 10x = 9.999… となり、引くと 9x = 9、つまり x = 1 です。丸めでも記号の癖でもなく、0.999… と 1 は同じ数の 2 通りの書き方です。
なぜ小数ではなく分数で返すのですか。
分数が正確な値で、入力した小数はその書き方の一つにすぎないからです。既約分数を求める問題では小数は不正解になります。このページの目的は、問題が求めている形をそのまま渡すことです。
負の数や 1 より大きい数も扱えますか。
どちらも扱えます。-0.75 は -3/4 になり、2.5 は 5/2 になって帯分数 2½ も並べて表示されます。方法は同一で、答えの見せ方だけが変わります。
循環小数はどう入力しますか。
2 通りあり、どちらでも動きます。循環する数字をかっこに入れる方法——0.(3)、0.1(6)、0.(142857)——は曖昧さがありません。あるいは点で終える方法——0.333...、0.1666...——では、入力された数字から循環部分を判断します。

ほかの数学ツール

Coddy programming languages illustration

Coddyで数学を学ぼう

始める