Double Conversion is a high-performance C++ library that provides precise and efficient binary-decimal and decimal-binary conversion routines for IEEE 754 double-precision floating-point numbers. Originally extracted from the V8 JavaScript engine, it was refactored into a standalone library to make its robust number conversion algorithms easily reusable in other projects. The library ensures consistent and accurate results for converting between double values and their string representations, avoiding rounding errors and performance bottlenecks common in standard conversion routines. It is optimized for both speed and correctness, making it ideal for numerical computation libraries, serialization systems, and scripting engines. The codebase includes detailed documentation and comprehensive unit tests to validate correctness across various platforms. With flexible build options using SCons, CMake, or Bazel, Double Conversion integrates seamlessly into modern C++ development workflows.
Features
- High-precision conversion between binary and decimal representations of IEEE double values
- Extracted and optimized from the V8 JavaScript engine for standalone use
- Guarantees accurate rounding and consistent numeric formatting
- Portable and efficient C++ implementation with minimal dependencies
- Supports multiple build systems including SCons, CMake, and Bazel
- Extensively tested for performance and reliability across compilers and architectures