跳到内容
🛠️ToolsShed

分数 ↔ 小数 转换器

将分数转换为小数,或将小数转换为分数。显示最简分数、带分数和百分比。

常见分数

关于此工具

分数与小数的转换是数学的基本技能,对于学生、专业人士和任何需要精确计算的人来说都至关重要。无论是在化简数学表达式、比较数值,还是理解分数与小数的对应关系时,掌握这两种表示方法都能增强数学信心。这个工具能够瞬间完成分数与小数的相互转换,同时显示最简分数、带分数和百分比。

只需输入一个分数(如3/4)或小数(如0.75),工具就会用多种格式显示转换结果。输入分数时,你会得到小数值和相应的百分比;输入小数时,工具会反推出最简分数形式。这对于烹饪、工程、学术研究或任何需要分数单位测量的工作都非常实用。工具可以无缝处理真分数和假分数。

常见问题

代码实现

# Fraction and Decimal Conversion

from math import gcd
from fractions import Fraction

def fraction_to_decimal(numerator: int, denominator: int) -> float:
    if denominator == 0:
        raise ValueError("Denominator cannot be zero")
    return numerator / denominator

def decimal_to_fraction(decimal: float, max_denominator: int = 10000) -> tuple[int, int]:
    f = Fraction(decimal).limit_denominator(max_denominator)
    return f.numerator, f.denominator

def simplify_fraction(numerator: int, denominator: int) -> tuple[int, int]:
    common = gcd(abs(numerator), abs(denominator))
    return numerator // common, denominator // common

def to_mixed_number(numerator: int, denominator: int) -> str:
    if abs(numerator) < denominator:
        return f"{numerator}/{denominator}"
    whole = numerator // denominator
    remainder = abs(numerator % denominator)
    if remainder == 0:
        return str(whole)
    return f"{whole} {remainder}/{denominator}"

# Examples
print(fraction_to_decimal(3, 4))       # 0.75
print(decimal_to_fraction(0.75))       # (3, 4)
print(simplify_fraction(6, 8))         # (3, 4)
print(to_mixed_number(7, 4))           # "1 3/4"
print(f"{fraction_to_decimal(1, 3):.6f}")  # 0.333333

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.