Python:fractions模块数值、浮点、小数转分数

简介:fractions 模块提供了分数类型的支持。可以同时提供分子(numerator)和分母(denominator)给构造函数用于实例化Fraction类,但两者必须同时是int类型或者numbers.Rational类型,否则会抛出类型错误。当分母为0,初始化的时候会导致抛出异常ZeroDivisionError。

相关攻略:

Python:小数、百分比相互转化

源码:

# -*- coding: utf-8 -*-
# time: 2022/6/1 15:23
# file: fractions_demo.py
# author: tom
# 公众号: 玩转测试开发
import fractions


def get_fraction():
    """
        1 / 2 = 1 / 2
        2 / 3 = 2 / 3
        4 / 8 = 1 / 2 # 最后的分数 4/8,它会自动解析为最低形式的1/2 
    """
    
    for num, decimal in [(1, 2), (2, 3), (4, 8)]:
        ft = fractions.Fraction(num, decimal)
        print(f'{num}/{decimal} = {ft}')


def float2fraction():
    """
        0.33 = 33/100
        4.5 = 9/2
        5e-1 = 1/2
    """
    for decimal in ['0.33', '4.5', '5e-1']:
        ft = fractions.Fraction(decimal)
        print(f'{decimal} = {ft}')


if __name__ == '__main__':
    get_fraction()
    print("*" * 30)
    float2fraction()

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值