分数 ↔ 小数 转换器
将分数转换为小数,或将小数转换为分数。显示最简分数、带分数和百分比。
常见分数
关于此工具
分数与小数的转换是数学的基本技能,对于学生、专业人士和任何需要精确计算的人来说都至关重要。无论是在化简数学表达式、比较数值,还是理解分数与小数的对应关系时,掌握这两种表示方法都能增强数学信心。这个工具能够瞬间完成分数与小数的相互转换,同时显示最简分数、带分数和百分比。
只需输入一个分数(如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.333333Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.