Repolode
fastfloat

fastfloat/fast_float

Biblioteca C++ header-only para parsing rápido e exato de valores float, double e inteiros a partir de strings, com uma implementação substituta de from_chars.

Estrelas
2,134
Forks
200
Issues abertas
29
Último commit
há 5 dias

O que é?

fast_float é uma biblioteca C++ header-only que implementa as funções from_chars no estilo do C++17 para tipos float, double e inteiros. Ela converte strings decimais ASCII, como "1.3e10", em números binários com arredondamento IEEE exato, incluindo arredondamento para o par. A implementação não lança exceções nem aloca memória.

Além da interface padrão, a biblioteca oferece opções para separador decimal personalizado, números no estilo Fortran e gramáticas estritas de JSON ou JavaScript. Ela também aceita entradas UTF-16 e UTF-32, oferece suporte a tipos float de largura fixa e pode ser usada em tempo de compilação no C++20.

O projeto tem como alvo o C++11 e pode ser usado com Visual Studio, macOS, Linux e FreeBSD, em sistemas de 32 ou 64 bits, big-endian ou little-endian. Ele pode ser adicionado via CMake, CPM, Conan, Homebrew ou como um único arquivo de header.

Recursos principais

  • 01Faz o parsing de float e double com resultados exatos usando arredondamento para o mais próximo, com desempate para o par.
  • 02Faz o parsing de tipos inteiros com e sem sinal em bases como 2, 10 e 16.
  • 03Informa erros por meio de std::errc, sem lançar exceções nem alocar memória.
  • 04Oferece gramáticas de JSON, JavaScript, Fortran e separador decimal personalizado.
  • 05Aceita entradas ASCII, UTF-8, UTF-16 e UTF-32.
  • 06Pode ser usada como biblioteca header-only ou como um único arquivo de header.

Casos de uso

  • Fazer o parsing de grandes volumes de texto numérico em mecanismos de banco de dados ou pipelines de dados.
  • Ler números em parsers de JSON ou JavaScript que precisam verificar gramáticas estritas.
  • Adicionar conversão numérica rápida a projetos C++ que tenham como alvo o C++11 ou versões posteriores.
  • Fazer o parsing de números em arquivos CSV ou de log quando a velocidade é importante.

Início rápido

  1. 1

    Copie o diretório fast_float para o caminho include do seu projeto e inclua o cabeçalho

Antes de usar

  • Apenas entradas decimais são aceitas; strings hexadecimais não são analisadas.
  • O tipo long double não é compatível.
  • Parte-se do pressuposto de que o modo de arredondamento de ponto flutuante está definido como arredondamento para o mais próximo.

Tópicos

Perguntas frequentes

O que é fast_float?
Biblioteca C++ header-only para parsing rápido e exato de valores float, double e inteiros a partir de strings, com uma implementação substituta de from_chars. fast_float é uma biblioteca C++ header-only que implementa as funções from_chars no estilo do C++17 para tipos float, double e inteiros. Ela converte strings decimais ASCII, como "1.3e10", em números binários com arredondamento IEEE exato, incluindo arredondamento para o par. A implementação não lança exceções nem aloca memória.
fast_float é gratuito? Qual é a licença?
fast_float é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
fast_float ainda é mantido?
Manutenção ativa. O último commit de fast_float foi em 19 de out. de 2026.
Para que posso usar fast_float?
Fazer o parsing de grandes volumes de texto numérico em mecanismos de banco de dados ou pipelines de dados. Ler números em parsers de JSON ou JavaScript que precisam verificar gramáticas estritas. Adicionar conversão numérica rápida a projetos C++ que tenham como alvo o C++11 ou versões posteriores. Fazer o parsing de números em arquivos CSV ou de log quando a velocidade é importante.
Como instalar fast_float?
Copie o diretório fast_float para o caminho include do seu projeto e inclua o cabeçalho
Onde consigo fast_float?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fastfloat/fast_float

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados