#floating-point #javascript #no-alloc #float

no-std dragonbox_ecma

Fast floating point to string conversion conforming to ECMAScript specification

3 releases

0.0.5 Aug 5, 2025
0.0.4 Aug 5, 2025
0.0.3 Jun 1, 2025
0.0.2 May 31, 2025
0.0.1 May 31, 2025

#72 in Value formatting

Download history 5/week @ 2025-07-29 4562/week @ 2025-08-05 3914/week @ 2025-08-12 3858/week @ 2025-08-19 5707/week @ 2025-08-26 4786/week @ 2025-09-02 6108/week @ 2025-09-09 7235/week @ 2025-09-16 5392/week @ 2025-09-23 5063/week @ 2025-09-30 6405/week @ 2025-10-07 11714/week @ 2025-10-14 20904/week @ 2025-10-21 27580/week @ 2025-10-28 18191/week @ 2025-11-04 15179/week @ 2025-11-11

84,524 downloads per month
Used in 89 crates (3 directly)

Apache-2.0 WITH LLVM-exception OR BSL-1…

72KB
1.5K SLoC

Dragonbox ECMA

Dragonbox ECMA is a fork of the Dragonbox crate adjusted to comply with the ECMAScript number-to-string algorithm.

This crate contains a basic port of https://github.com/jk-jeon/dragonbox to Rust for benchmarking purposes.

Please see the upstream repo for an explanation of the approach and comparison to the Ryū algorithm.


Example

fn main() {
    let mut buffer = dragonbox_ecma::Buffer::new();
    let printed = buffer.format(1.234);
    assert_eq!(printed, "1.234");
}

Performance (lower is better)

performance


License

Licensed under either of Apache License, Version 2.0 with LLVM Exceptions or Boost Software License Version 1.0 at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps