Float Fields
Float fields parse and serialize IEEE 754 floating-point values.
Available Types
Field |
Size |
Description |
|---|---|---|
|
4 bytes |
Single precision (32-bit) |
|
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()