分数化小数计算器
在线分数化小数计算器:分数与小数双向互转。分数转小数自动识别有限/无限循环小数并用括号标出循环节(如 1/6 = 0.1(6));小数转分数化到最简分数(支持循环小数)。全程整数(BigInt)精确运算,无浮点误差。
带分数填整数部分,例如 2 ⅓ → 整数填 2、分子 1、分母 3;纯分数整数部分留空。负号:纯分数写在分子,带分数写在整数部分。
该小数为精确值。
算式:1/8 = 0.125
怎么用
- 选转换方向:顶部点选「分数 → 小数」或「小数 → 分数」。分数转小数会算出小数并标出循环节;小数转分数会化成最简分数。
- 分数转小数:填分数:在分子、分母两格里填整数;带分数(如 2⅓)在前面的「整数」格填整数部分,纯分数把整数格留空。负号:纯分数写在分子(如 −1/4),带分数写在整数部分(如 −2⅓ 在整数填 -2)。
- 小数转分数:填小数:在「小数」格填要转换的小数(可带负号,如 0.75、-3.14)。若是有限小数,保持「有限小数」即可。
- 循环小数:标出循环节:小数末尾若干位无限循环时(如 0.1666…),切到「循环小数」并填写循环节位数:0.1666… 在小数填 0.16、位数填 1(末位 6 循环);0.333… 填 0.3、位数 1;0.142857… 填 0.142857、位数 6。
- 读结果:每改一个数立即出结果:分数转小数给出小数(有限小数精确写出、无限循环用括号标循环节如 0.1(6) 并附 10 位四舍五入值);小数转分数给出最简分数、带分数与分子分母,并显示算式。
原理与公式
分数化小数(除法):分数 分子/分母 的值就是分子 ÷ 分母。做长除法,余数为 0 时是有限小数;余数开始重复时, 对应的商也开始重复,即无限循环小数。
3/4 = 0.75(除尽);1/8 = 0.125;1/3 = 0.333… = 0.(3);1/6 = 0.1666… = 0.1(6);1/7 = 0.(142857)。
有限小数 vs 无限循环小数
把分数约到最简后看分母:分母只含质因数 2 和 5 → 有限小数;含 2、5 以外的质因数 → 无限循环小数。因为十进制小数等价于「分母为 10 的幂」, 而 10 = 2 × 5。
小数化分数
有限小数:看成「小数部分 ÷ 10 的幂」再约分。0.75 = 75/100 = 3/4(同除以 GCD=25);0.125 = 125/1000 = 1/8。
循环小数(错位相减):设小数有 p 位不循环、q 位循环,则分数 =(含一个完整循环的整数 − 不循环部分的整数)/((10^q − 1) × 10^p), 再约分。
例:0.1(6):p=1、q=1 →(16 − 1)/(9 × 10)= 15/90 = 1/6;0.(142857):p=0、q=6 → 142857/999999 = 1/7。
计算示例
3/4 → 0.751/6 → 0.1(6)(≈ 0.1666666667)0.75 → 3/40.1666…(循环节 1 位)→ 1/6
精度:所有运算用整数(BigInt)精确完成,不经过浮点。 有限小数完整精确写出、无限循环小数用括号精确标出循环节;只有「定长 10 位」的小数是四舍五入近似, 会以「≈」标注。所有计算在浏览器本地完成。
常见问题
- 分数怎么转成小数?
- 用分子除以分母即可,也就是做「长除法」。例如 3/4 = 3 ÷ 4 = 0.75;1/8 = 0.125。如果除不尽,就是无限循环小数,例如 1/3 = 0.333…、1/6 = 0.1666…。本工具用整数长除法精确计算:能除尽的有限小数完整精确写出(如 1/8 = 0.125),除不尽的无限循环小数会自动找出循环节并用括号标出(如 1/6 = 0.1(6)、1/7 = 0.(142857)),同时给出 10 位四舍五入的近似值方便使用。
- 0.75 等于几分之几?小数怎么转成分数?
- 有限小数转分数:把小数看成「小数部分 ÷ 10 的幂」再约分。0.75 = 75/100,分子分母同除以最大公约数 25,得 3/4,所以 0.75 = 3/4。再如 0.5 = 5/10 = 1/2、0.125 = 125/1000 = 1/8、-3.14 = -314/100 = -157/50。本工具会自动约分到最简分数,并给出带分数写法(如 1.25 = 5/4 = 1¼)。
- 循环小数(如 0.333…、0.1666…)怎么转成分数?
- 循环小数转分数要用「错位相减」消去循环部分,本工具帮你算好。用法:切到「循环小数」,在「小数」里填到一个完整循环为止的数字,再在「循环节位数」里填末尾循环的位数。例如:0.333… → 小数填 0.3、位数 1,得 1/3;0.1666… → 小数填 0.16、位数 1(只有末位 6 在循环),得 1/6;0.142857142857… → 小数填 0.142857、位数 6,得 1/7。常见值:0.(3)=1/3、0.(6)=2/3、0.1(6)=1/6、0.(142857)=1/7、0.(09)=1/11。
- 循环节用括号表示是什么意思?为什么写成 0.1(6)?
- 括号里的数字表示「无限重复的那一段」(即循环节),是国际通用的循环小数写法之一(另一种写法是在循环数字上面加一横)。0.1(6) 表示 0.1666…,其中 1 不循环、6 无限循环;0.(3) 表示 0.333…;0.(142857) 表示 0.142857142857…。这样写既简洁又精确——它代表的是真正的无限循环值,而不是被截断的近似数。本工具同时给出 10 位四舍五入值(如 0.1(6) ≈ 0.1666666667)方便直接使用。
- 怎么判断一个分数是有限小数还是无限循环小数?
- 把分数约到最简后,只看分母:如果最简分数的分母只含质因数 2 和 5(如 2、4、5、8、10、20、25、40…),就是有限小数(如 1/8=0.125、3/40=0.075);只要分母含有 2、5 以外的质因数(如 3、7、11、13…),就是无限循环小数(如 1/3=0.(3)、1/7=0.(142857)、1/11=0.(09))。原因是十进制小数的本质是「分母为 10 的幂」,而 10=2×5,分母只有把自己凑成 10 的幂才能除尽。
- 计算结果精确吗?会不会有浮点误差?
- 精确。本工具全程用整数(BigInt)做有理数运算,不经过 JavaScript 浮点数,所以不会有 0.1+0.2≠0.3 那类误差,再大的分子分母也不丢精度。分数转小数时:有限小数完整精确写出、无限循环小数用括号给出精确循环节(这两种都是精确值);只有当你需要一个「定长小数」时给出的 10 位四舍五入值是近似的,会以「≈」标注。小数转分数的结果(最简分数)始终是精确值。所有计算都在你的浏览器本地完成。