MCP로 연결 →

계산 입력

공식

광고

결과

입력한 소수 0.75
분수
3 4
소수(반올림) 0

이 계산기는 무엇을 하나요?

이름에는 '반올림(rounding)'이라는 단어가 들어 있지만, 사실 이 도구는 소수를 분수로 바꿔 주는 계산기입니다. 소수 하나를 입력하면 그 값에 가장 가까운 분수로 변환한 뒤, 더 이상 약분되지 않는 기약분수까지 자동으로 정리해 줍니다. 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)$$
  • 오차가 0.000001보다 작아지면 그 분수를 정확히 일치하는 값으로 보고 곧바로 채택합니다.
  • 그렇지 않으면 모든 분모를 다 살펴본 뒤, 오차가 가장 작은 분수를 선택합니다.

분자와 분모가 정해지면 유클리드 호제법으로 최대공약수(GCD)를 구해 두 수를 나눕니다. 그 결과가 바로 기약분수입니다. 또한 답이 정수인지(분모가 1인지), 실제로 약분이 이루어졌는지도 함께 표시해 줍니다.

$$\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}$$
광고
소수를 분수로 변환한 후 최대공약수로 약분하는 흐름도
소수를 분수 n/d로 바꾼 뒤, 두 수를 최대공약수로 나누어 약분합니다.

실제 예시

0.625를 입력해 볼까요? 분모를 차례로 대입하다 보면 \(0.625 \times 8 = 5\)가 정확히 떨어진다는 것을 찾아내, 오차가 거의 0인 5/8라는 분수가 나옵니다. 5와 8의 최대공약수는 1이므로 이미 기약분수 상태이고, 결과는 5/8입니다.

이번엔 0.5를 넣어 보세요. 가장 먼저 1/2이 일치하고, 최대공약수가 1이므로 답은 깔끔한 1/2입니다. 0.4를 입력하면 2/5가 나오는데, 4/10를 약분하면 \(2/5 = 0.4\)가 정확히 떨어지기 때문입니다.

75/100을 25로 나누어 3/4로 약분하는 예시
예제: 0.75 = 75/100, 두 수를 25로 나누면 3/4로 약분됩니다.

자주 묻는 질문

왜 분모가 1000에서 멈추나요? 결과를 깔끔하고 빠르게 유지하기 위해 분모 탐색 범위를 1000까지로 제한했습니다. 0.333처럼 끝없이 이어지는 소수의 경우, 복잡한 숫자 대신 매우 근접한 분수인 1/3을 돌려줍니다.

1보다 큰 수를 넣으면 어떻게 되나요? 문제없이 작동합니다. 2.5를 입력하면 5/2라는 가분수가 나옵니다. 다만 이를 대분수(예: 2와 1/2)로 자동 변환하지는 않습니다.

결과는 항상 약분된 상태인가요? 네. 모든 결과는 최대공약수로 나누어지므로, 언제나 더 이상 약분되지 않는 기약분수 형태로 받게 됩니다.

최종 업데이트: