Descripción del producto 

Números de punto flotante.

Los tipos son equivalentes a los tipos de C:

  • Float32 - float
  • Float64 - double

Le recomendamos que almacene los datos en formato entero siempre que sea posible. Por ejemplo, convierta números de precisión fija en valores enteros, como importes monetarios o tiempos de carga de página en milisegundos.

Uso de números de punto flotante 

  • Los cálculos con números de punto flotante pueden producir un error de redondeo.
SELECT 1 - 0.9
┌───────minus(1, 0.9)─┐
│ 0.09999999999999998 │
└─────────────────────┘
  • El resultado del cálculo depende del método de cálculo (el tipo de procesador y la arquitectura del sistema informático).
  • Los cálculos de puntos flotantes pueden dar como resultado números como el infinito (Inf) y “not-a-number” (NaN). Esto debe tenerse en cuenta al procesar los resultados de los cálculos.
  • Al analizar números de punto flotante a partir de texto, el resultado puede no ser el número representable por máquina más cercano.

NaN y Inf 

A diferencia de SQL estándar, ClickHouse admite las siguientes categorías de números de punto flotante:

  • Inf – Infinity.
SELECT 0.5 / 0
┌─divide(0.5, 0)─┐
│            inf │
└────────────────┘
  • -Inf – Negative infinity.
SELECT -0.5 / 0
┌─divide(-0.5, 0)─┐
│            -inf │
└─────────────────┘
  • NaN – Not a number.
SELECT 0 / 0
┌─divide(0, 0)─┐
│          nan │
└──────────────┘
See the rules for `NaN` sorting in the section [ORDER BY clause](../sql_reference/statements/select/order-by.md).

Artículo Original

Rating: 1.8 - 12 votes

Was this content helpful?
★★☆☆☆