Crates.io | fixed_decimal |
lib.rs | fixed_decimal |
version | 0.7.0 |
created_at | 2020-10-15 15:25:20.264738+00 |
updated_at | 2025-02-26 18:18:09.328876+00 |
description | An API for representing numbers in a human-readable form |
homepage | |
repository | https://github.com/unicode-org/icu4x |
max_upload_size | |
id | 300032 |
size | 362,546 |
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.
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
);
For more information on development, authorship, contributing etc. please visit ICU4X home page
.