16 releases
| 0.7.1 | Oct 28, 2025 |
|---|---|
| 0.7.0 | Feb 26, 2025 |
| 0.6.0 | Nov 23, 2024 |
| 0.5.6 | May 28, 2024 |
| 0.1.0 | Oct 15, 2020 |
#369 in Internationalization (i18n)
612,830 downloads per month
Used in 142 crates
(23 directly)
365KB
7.5K
SLoC
fixed_decimal 
fixed_decimal is a utility crate of the ICU4X project.
This crate provides Decimal and UnsignedDecimal, essential APIs for representing numbers in a human-readable format.
These types are particularly useful for formatting and plural rule selection, and are optimized for operations on individual digits.
Examples
use fixed_decimal::Decimal;
let mut dec = Decimal::from(250);
dec.multiply_pow10(-2);
assert_eq!("2.50", format!("{}", dec));
#[derive(Debug, PartialEq)]
struct MagnitudeAndDigit(i16, u8);
let digits: Vec<MagnitudeAndDigit> = dec
.magnitude_range()
.map(|m| MagnitudeAndDigit(m, dec.digit_at(m)))
.collect();
assert_eq!(
vec![
MagnitudeAndDigit(-2, 0),
MagnitudeAndDigit(-1, 5),
MagnitudeAndDigit(0, 2)
],
digits
);
More Information
For more information on development, authorship, contributing etc. please visit ICU4X home page.
Dependencies
~180–630KB
~15K SLoC