Skip to content

Torrencem/pretty_dtoa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pretty dtoa

Configurable float and double printing. pretty_dtoa Comes with lots of options for configuring different aspects of displaying floats, and has only 1 dependency total (including dependencies of dependencies), for very fast compile times.

This crate uses the ryu-floating-decimal crate (itself a fork of the ryu crate) to generate a "floating decimal", or a floating point with radix 10, and then it uses formatting rules particular to the configuration to create a formatted string.

This module is only slightly slow (usually between 1x and 2x slower than the default Display implementation for f64). Benchmarks can be run with cargo bench.

Consider using pretty_dtoa if the default behavior of Display and alternative float printing libraries like ryu is not ideal for one reason or another

Example

use pretty_dtoa::{dtoa, FmtFloatConfig};

let config = FmtFloatConfig::default()
     .force_no_e_notation()      // Don't use scientific notation
     .add_point_zero(true)       // Add .0 to the end of integers
     .max_significant_digits(4)  // Stop after the first 4 non-zero digits
     .radix_point(',')           // Use a ',' instead of a '.'
     .round();                   // Round after removing non-significant digits

 assert_eq!(dtoa(12459000.0, config), "12460000,0");

See the tests in src/lib.rs for examples of each feature, and the documentation to see all configurable features.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages