Repolode
fastfloat

fastfloat/fast_float

Biblioteca C++ de solo cabeceras para analizar rápidamente y con exactitud valores float, double y enteros a partir de cadenas; implementación de from_chars compatible como reemplazo directo.

Estrellas
2,134
Forks
200
Issues abiertos
29
Último commit
hace 5 días

¿Qué es?

fast_float es una biblioteca C++ de solo cabeceras que implementa las funciones from_chars del estilo de C++17 para tipos float, double y enteros. Convierte cadenas decimales ASCII, como "1.3e10", en números binarios con redondeo IEEE exacto, incluido el redondeo al par. La implementación no lanza excepciones ni reserva memoria.

Además de la interfaz estándar, la biblioteca ofrece opciones para usar un separador decimal personalizado, números al estilo de Fortran y gramáticas estrictas de JSON o JavaScript. También acepta entradas UTF-16 y UTF-32, admite tipos float de ancho fijo y puede usarse en tiempo de compilación con C++20.

El proyecto está dirigido a C++11 y puede usarse con Visual Studio, macOS, Linux y FreeBSD en sistemas de 32 y 64 bits, tanto big-endian como little-endian. Se puede incorporar mediante CMake, CPM, Conan o Homebrew, o como un único archivo de cabecera.

Funciones clave

  • 01Analiza valores float y double con resultados exactos y redondeo al más cercano con desempate al par.
  • 02Analiza tipos enteros con y sin signo en bases como 2, 10 y 16.
  • 03Informa de los errores mediante std::errc, sin lanzar excepciones ni reservar memoria.
  • 04Ofrece gramáticas de JSON, JavaScript y Fortran, además de separadores decimales personalizados.
  • 05Acepta entradas ASCII, UTF-8, UTF-16 y UTF-32.
  • 06Se puede usar como biblioteca de solo cabeceras o como un único archivo de cabecera.

Casos de uso

  • Analizar grandes volúmenes de texto numérico en motores de bases de datos o pipelines de datos.
  • Leer números en analizadores de JSON o JavaScript que necesiten comprobar gramáticas estrictas.
  • Incorporar conversiones numéricas rápidas a proyectos C++ que usen C++11 o posterior.
  • Analizar números de archivos CSV o de registros cuando la velocidad sea importante.

Inicio rápido

  1. 1

    Copia el directorio fast_float en la ruta include de tu proyecto e incluye el encabezado

Antes de usarlo

  • Solo se admite la entrada decimal; las cadenas hexadecimales no se analizan.
  • El tipo long double no es compatible.
  • Se presupone que el modo de redondeo de punto flotante está configurado como redondeo al más cercano.

Temas

Preguntas frecuentes

¿Qué es fast_float?
Biblioteca C++ de solo cabeceras para analizar rápidamente y con exactitud valores float, double y enteros a partir de cadenas; implementación de from_chars compatible como reemplazo directo. fast_float es una biblioteca C++ de solo cabeceras que implementa las funciones from_chars del estilo de C++17 para tipos float, double y enteros. Convierte cadenas decimales ASCII, como "1.3e10", en números binarios con redondeo IEEE exacto, incluido el redondeo al par. La implementación no lanza excepciones ni reserva memoria.
¿fast_float es gratuito? ¿Qué licencia tiene?
fast_float es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿fast_float sigue mantenido?
Mantenimiento activo. El último commit de fast_float fue el 19 oct 2026.
¿Para qué puedo usar fast_float?
Analizar grandes volúmenes de texto numérico en motores de bases de datos o pipelines de datos. Leer números en analizadores de JSON o JavaScript que necesiten comprobar gramáticas estrictas. Incorporar conversiones numéricas rápidas a proyectos C++ que usen C++11 o posterior. Analizar números de archivos CSV o de registros cuando la velocidad sea importante.
¿Cómo se instala fast_float?
Copia el directorio fast_float en la ruta include de tu proyecto e incluye el encabezado
¿Dónde consigo fast_float?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fastfloat/fast_float

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados