floatDesde: siempre
Un número de punto flotante.
Una representación de precisión limitada de un número real. Typst usa 64 bits para almacenar los flotantes. Dondequiera que se espere un flotante, también podés pasar un entero.
Podés convertir un valor en flotante con el constructor de este tipo.
Ejemplo
#3.14 \
#1e4 \
#(10 / 4)

Constructor
Convierte un valor en un flotante.
- Los booleanos se convierten en
0.0o1.0. - Los enteros se convierten en el flotante de 64 bits más cercano. Para enteros con valor absoluto menor que
calc.pow(2, 53), esta conversión es exacta. - Las proporciones se dividen por 100%.
- Las cadenas de texto se analizan en base 10 al flotante de 64 bits más cercano. Se admite la notación exponencial.
Ver ejemplo
#float(false) \
#float(true) \
#float(4) \
#float(40%) \
#float("2.7") \
#float("1e5")

value
El valor que se debe convertir en flotante.
Constantes
inffloatDesde: 0.12.0
Infinito () como valor.
Este valor es mayor que todo número real.
El infinito negativo () se puede obtener negando este valor: -float.inf.
Ver ejemplo
#(9999999 < float.inf) \
#(-float.inf < -9999999)

nanfloatDesde: 0.12.0
Un valor NaN, tal como lo define el estándar IEEE 754.
Funciones
is-nanDesde: 0.11.0
Comprueba si un flotante no es un número.
En IEEE 754, más de un patrón de bits representa un NaN. Esta función devuelve true si el flotante es cualquiera de esos patrones de bits.
Ver ejemplo
#float.is-nan(0) \
#float.is-nan(1) \
#float.is-nan(float.nan)

is-infiniteDesde: 0.11.0
Comprueba si un flotante es infinito.
Los flotantes pueden representar el infinito positivo y el infinito negativo. Esta función devuelve true si el flotante es un infinito.
Ver ejemplo
#float.is-infinite(0) \
#float.is-infinite(1) \
#float.is-infinite(float.inf)

signumDesde: 0.11.0
Calcula el signo de un número de punto flotante.
- Si el número es positivo (incluido
+0.0), devuelve1.0. - Si el número es negativo (incluido
-0.0), devuelve-1.0. - Si el número es NaN, devuelve
float.nan.
Ver ejemplo
#(5.0).signum() \
#(-5.0).signum() \
#(0.0).signum() \
#float.nan.signum()

from-bytesDesde: 0.12.0
Interpreta bytes como un flotante.
Ver ejemplo
#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")

bytes
Los bytes que se deben convertir en flotante.
Deben tener una longitud de 4 u 8. Los bytes se interpretan entonces en el formato binary32 (precisión simple) o binary64 (precisión doble) de IEEE 754, según la longitud de los bytes.
endianPor defecto: "little"
El orden de bytes (endianness) de la conversión.
| Variante | Detalles |
|---|---|
"big" | Orden de bytes big-endian: el byte de mayor valor está al comienzo de los bytes. |
"little" | Orden de bytes little-endian: el byte de menor valor está al comienzo de los bytes. |
to-bytesDesde: 0.12.0
Convierte un flotante en bytes.
Ver ejemplo
#array(1.0.to-bytes(endian: "big")) \
#array(1.0.to-bytes())

endianPor defecto: "little"
El orden de bytes (endianness) de la conversión.
| Variante | Detalles |
|---|---|
"big" | Orden de bytes big-endian: el byte de mayor valor está al comienzo de los bytes. |
"little" | Orden de bytes little-endian: el byte de menor valor está al comienzo de los bytes. |
sizePor defecto: 8
El tamaño de los bytes resultantes.
Debe ser 4 u 8. La llamada devuelve la representación de este flotante en el formato binary32 (precisión simple) o binary64 (precisión doble) de IEEE 754, según el tamaño indicado.