這個計算機能做什麼
雖然名稱帶有「四捨五入」字樣,但這項工具其實是一個道地的小數轉分數計算機。你只要輸入一個小數,它就會把這個數值換算成最接近的分數,再進一步約分成最簡形式。對於像 0.625 或 0.4 這種不太好處理的小數,它能快速幫你變成乾淨俐落的分數,無論是料理食譜、尺寸量測、木工製作,還是數學作業都很實用。
你只需要輸入一個數字
- 小數-輸入任意小數值(例如 0.75、0.333 或 2.5)。如果填入的不是有效數字,系統會當作 0 處理。
計算公式的運作原理
這個計算機會從分母 1 一路測試到 1000,尋找最匹配的分數。針對每一個分母,它會把 小數 × 分母 四捨五入到最接近的整數,得到一個候選的分子,接著計算這個分數與你輸入的原始數值之間的誤差。
$$\text{Fraction} = \frac{n}{d} = \frac{\text{Decimal} \times d}{d}, \quad \text{simplified by } \gcd(n, d)$$
$$\begin{gathered} \text{Fraction} = \frac{n}{d} = \frac{n / \gcd(n,d)}{\,d / \gcd(n,d)\,} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} d &= \text{denominator}, \; 1 \le d \le 1000 \\ n &= \operatorname{round}\!\left(\text{Decimal} \times d\right) \\ &\quad \text{first } d \text{ with } \left|\text{Decimal} - \tfrac{n}{d}\right| < 10^{-6} \end{aligned} \right. \end{gathered}$$
- 只要誤差小於 \(10^{-6}\),這個分數就會立刻被認定為精確匹配並採用。
- 否則,系統會保留在所有分母當中誤差最小的那個分數。
確定分子與分母之後,它會用歐幾里得演算法(輾轉相除法)找出兩數的最大公因數(GCD),再將分子與分母同時除以這個數,得到的結果就是最簡分數。此外,它還會標示出答案是否為整數(分母為 1),以及是否真的有進行約分。
實例演練
輸入 0.625。在逐一測試分母的過程中,計算機發現 \(0.625 \times 8\) 剛好等於 5,得到分數 \(5/8\),誤差幾乎為零。5 與 8 的最大公因數是 1,所以這個分數已經是最簡形式,最終結果就是 5/8。
換成 0.5 試試。第一個匹配的分數是 \(1/2\),最大公因數為 1,答案就是乾淨的 1/2。再輸入 0.4,你會得到 \(2/5\),因為 \(4/10\) 約分後正好等於 \(2/5\),也就是 0.4。
常見問題
為什麼分母最大只到 1000?把搜尋範圍限制在 1000 以內,是為了讓結果保持簡潔且運算快速。遇到像 0.333 這種無限循環小數時,系統會回傳非常接近的 \(1/3\),而不是給你一個又長又難用的分數。
數字大於 1 時會怎樣?一樣能正常運作。輸入 2.5 會得到 \(5/2\),也就是一個假分數。這項工具不會自動把它拆成帶分數。
結果一定都是最簡形式嗎?是的。每一個結果都會除以它的最大公因數,所以你拿到的永遠是最簡分數。