C stdio와 iostreams보다 빠르고 타입 안전한 대안을 제공하며 C++20 std::format을 구현한 C++ 포맷팅 라이브러리입니다.
fastfloat/fast_float
문자열에서 float, double, 정수 값을 빠르고 정확하게 파싱하는 헤더 전용 C++ 라이브러리로, from_chars를 바로 대체해 사용할 수 있습니다.
- 스타
- 2,134
- 포크
- 200
- 열린 이슈
- 29
- 마지막 커밋
- 5일 전
어떤 프로젝트인가요?
fast_float은 float, double 및 정수형을 위한 C++17 스타일 from_chars 함수를 구현한 헤더 전용 C++ 라이브러리입니다. "1.3e10"과 같은 ASCII 십진 문자열을 round-to-even을 포함한 정확한 IEEE 반올림으로 이진수로 변환합니다. 예외를 던지지 않으며 메모리를 할당하지 않습니다.
표준 인터페이스 외에도 사용자 지정 소수점 구분자, Fortran 스타일 숫자, 엄격한 JSON 또는 JavaScript 문법을 지원하는 옵션을 제공합니다. UTF-16 및 UTF-32 입력도 처리하고, 고정 폭 float 타입을 지원하며, C++20에서는 컴파일 타임에 사용할 수 있습니다.
이 프로젝트는 C++11을 대상으로 하며, 32비트와 64비트, 빅엔디안과 리틀엔디안 시스템에서 Visual Studio, macOS, Linux, FreeBSD와 함께 사용할 수 있습니다. CMake, CPM, Conan, Homebrew를 통해 추가하거나 단일 헤더 파일로 사용할 수 있습니다.
핵심 기능
- 01float과 double을 정확한 round-to-nearest-even 결과로 파싱합니다.
- 022, 10, 16진수 등의 진법으로 부호 있는 정수형과 부호 없는 정수형을 파싱합니다.
- 03예외를 던지거나 메모리를 할당하지 않고 std::errc로 오류를 보고합니다.
- 04JSON, JavaScript, Fortran 및 사용자 지정 소수점 구분자 문법을 지원합니다.
- 05ASCII, UTF-8, UTF-16, UTF-32 입력을 처리합니다.
- 06헤더 전용 라이브러리로 사용하거나 단일 헤더 파일로 가져올 수 있습니다.
활용 사례
- 데이터베이스 엔진이나 데이터 파이프라인에서 대량의 숫자 텍스트를 파싱할 때 사용합니다.
- 엄격한 문법 검사가 필요한 JSON 또는 JavaScript 파서에서 숫자를 읽을 때 사용합니다.
- C++11 이상을 대상으로 하는 프로젝트에 빠른 숫자 변환 기능을 추가할 때 사용합니다.
- 속도가 중요한 CSV 또는 로그 파일에서 숫자를 파싱할 때 사용합니다.
빠른 시작
- 1
fast_float 디렉터리를 프로젝트의 include 경로에 복사하고 헤더를 포함하세요
사용 전 알아둘 점
- 10진수 입력만 지원하며, 16진수 문자열은 파싱되지 않습니다.
- long double 형식은 지원되지 않습니다.
- 부동소수점 반올림 모드가 최근접 반올림으로 설정되어 있다고 가정합니다.
토픽
자주 묻는 질문
- fast_float은(는) 무엇인가요?
- 문자열에서 float, double, 정수 값을 빠르고 정확하게 파싱하는 헤더 전용 C++ 라이브러리로, from_chars를 바로 대체해 사용할 수 있습니다. fast_float은 float, double 및 정수형을 위한 C++17 스타일 from_chars 함수를 구현한 헤더 전용 C++ 라이브러리입니다. "1.3e10"과 같은 ASCII 십진 문자열을 round-to-even을 포함한 정확한 IEEE 반올림으로 이진수로 변환합니다. 예외를 던지지 않으며 메모리를 할당하지 않습니다.
- fast_float은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- fast_float은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- fast_float은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. fast_float의 마지막 커밋은 2026년 10월 19일입니다.
- fast_float은(는) 어디에 사용할 수 있나요?
- 데이터베이스 엔진이나 데이터 파이프라인에서 대량의 숫자 텍스트를 파싱할 때 사용합니다. 엄격한 문법 검사가 필요한 JSON 또는 JavaScript 파서에서 숫자를 읽을 때 사용합니다. C++11 이상을 대상으로 하는 프로젝트에 빠른 숫자 변환 기능을 추가할 때 사용합니다. 속도가 중요한 CSV 또는 로그 파일에서 숫자를 파싱할 때 사용합니다.
- fast_float는 어떻게 설치하나요?
- fast_float 디렉터리를 프로젝트의 include 경로에 복사하고 헤더를 포함하세요
- fast_float은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/fastfloat/fast_float
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
블로킹 소켓 I/O로 HTTP/HTTPS 서버와 클라이언트를 구축할 수 있는 C++11 단일 헤더 라이브러리입니다.
HTTP 및 WebSocket 웹 서비스를 만들기 위한 빠르고 사용하기 쉬운 Flask 스타일의 헤더 전용 C++ 마이크로프레임워크입니다.
표준 unordered 및 ordered 컨테이너를 대체할 수 있는 빠르고 메모리 효율적인 해시 맵·세트와 B-tree 컨테이너를 제공하는 헤더 전용 C++ 라이브러리입니다.
스레드 간 메시지를 최소한의 push-to-pop 지연으로 전달하는 헤더 전용 C++14 무잠금 링 버퍼 큐입니다.
Luanti(구 Minetest)는 Lua 모딩을 지원하는 무료 오픈소스 복셀 게임 엔진으로, 게임을 만들고 플레이할 수 있습니다.