Documentation

float

A floating-point number.

A limited-precision representation of a real number. Typst uses 64 bits to store floats. Wherever a float is expected, you can also pass an integer.

You can convert a value to a float with this type's constructor.

NaN and positive infinity are available as float.nan and float.inf respectively.

Example

#3.14 \
#1e4 \
#(10 / 4)
Preview

Constructor
Question mark

Converts a value to a float.

#float(false) \
#float(true) \
#float(4) \
#float(40%) \
#float("2.7") \
#float("1e5")
Preview

value
bool or int or float or ratio or str or decimal
RequiredPositional
Question mark

The value that should be converted to a float.

Definitions
Question mark

is-nan

Checks if a float is not a number.

In IEEE 754, more than one bit pattern represents a NaN. This function returns true if the float is any of those bit patterns.

self.is-nan(
) -> bool
#float.is-nan(0) \
#float.is-nan(1) \
#float.is-nan(float.nan)
Preview

is-infinite

Checks if a float is infinite.

Floats can represent positive infinity and negative infinity. This function returns true if the float is an infinity.

self.is-infinite(
) -> bool
#float.is-infinite(0) \
#float.is-infinite(1) \
#float.is-infinite(float.inf)
Preview

signum

Calculates the sign of a floating point number.

self.signum(
) -> float
#(5.0).signum() \
#(-5.0).signum() \
#(0.0).signum() \
#float.nan.signum()
Preview

from-bytes

Converts bytes to a float.

float.from-bytes() -> float
#float.from-bytes(bytes((0, 0, 0, 0, 0, 0, 240, 63))) \
#float.from-bytes(bytes((63, 240, 0, 0, 0, 0, 0, 0)), endian: "big")
Preview

bytes
bytes
RequiredPositional
Question mark

The bytes that should be converted to a float.

Must be of length exactly 8 so that the result fits into a 64-bit float.

endian

The endianness of the conversion.

VariantDetails
"big"

Big-endian byte order: The highest-value byte is at the beginning of the bytes.

"little"

Little-endian byte order: The lowest-value byte is at the beginning of the bytes.

Default: "little"

to-bytes

Converts a float to bytes.

self.to-bytes() -> bytes
#array(1.0.to-bytes(endian: "big")) \
#array(1.0.to-bytes())
Preview

endian

The endianness of the conversion.

VariantDetails
"big"

Big-endian byte order: The highest-value byte is at the beginning of the bytes.

"little"

Little-endian byte order: The lowest-value byte is at the beginning of the bytes.

Default: "little"