Float Fields

Float fields parse and serialize IEEE 754 floating-point values.

Available Types

Field

Size

Description

Float32

4 bytes

Single precision (32-bit)

Float64

8 bytes

Double precision (64-bit)

Basic Usage

from pystructs import Struct, Float32, Float64

class Measurement(Struct):
    temperature = Float32()
    pressure = Float64()

data = b"\x00\x00\xc8\x42\x00\x00\x00\x00\x00\x88\xc3\x40"
m = Measurement.parse(data)
print(m.temperature)  # 100.0
print(m.pressure)     # 10000.0

API Reference

class pystructs.fields.floats.Float32(endian: str | None = None, default: float | None = None, required: bool = True, validators: List[Callable] | None = None)[source]

32-bit floating point number (IEEE 754 single precision).

Examples:
>>> class Point(Struct):
...     x = Float32()
...     y = Float32()
class pystructs.fields.floats.Float64(endian: str | None = None, default: float | None = None, required: bool = True, validators: List[Callable] | None = None)[source]

64-bit floating point number (IEEE 754 double precision).

Examples:
>>> class Point3D(Struct):
...     x = Float64()
...     y = Float64()
...     z = Float64()