python3-float

发布时间 2023-04-17 00:45:29作者: 挖洞404

1、介绍

builtins.py文件中定义了float类,用于处理python中浮点数数据。

float也是python的基本数据类型之一。

2、类和初始化

class float(object):
    def __init__(self, *args, **kwargs):
        pass

3、初始化

(1)字面量初始化

  • 支持十进制和科学计数法
# 十进制赋值
a = 3.14  # 3.14
a1 = 0.0  # 0.0
a2 = -3.14  # -3# .14
# 末尾为0,只有十分位上末尾为0时会保留,其他情况末尾为0都会被省略输出
a3 = 5.2000  # 5.2
# 不用过于纠结最大小数位数和末尾的值,一般注意两点:浮点数是不精确的,一般不使用过多的浮点数位数。其次其小数位数最大是15或16位。
a4 = 5.12345678912345678 # 5.123456789123456
a5 = 5.12345678912345578 # 5.1234567891234555
a6 = 5.12345678912345478 # 5.123456789123455
a7 = 102.12345678912345478 # 102.12345678912345
# 0. 可以省略0
a8 = .6
a9 = -.6


# 浮点数不支持其他进制
# b = 0x1f.1


# 科学计数法 aeb,表示a*10^b,a可以是整数或浮点数,b只能是整数
# c = 3e5  #300000.0
# c1 = .2e5 # 20000.0
# e后面不能是小数
# c1 = 2.2e2.2

(2)类初始化

  • float类,可以对直接的数值转换,也可以是浮点数字面量进行解析。只能一个参数,不存在进制等情况

d = float(3.14)
d1 = float("1.1")  #3.14

4、方法

(1)is_integer

  • 判断浮点数是否为整数,即小数部分是否实质为0

print(float(3.14).is_integer()) # False
print(float(3.00).is_integer()) # True

(2)hex

  • 返回str类型,表示浮点数的十六进制形式
print(d.hex()) # 0x1.91eb851eb851fp+1

(3)fromhex

  • 返回float类型,参数是str类型,表示将十六进制的浮点数字符串解析为浮点数。一般是与hex方法搭配,互为逆操作
print(d.fromhex("0x1.91eb851eb851fp+1")) # 3.14