#decimal-number #formatting #numbers #locale #icu #icu4x

no-std icu_decimal

API 用于以区域敏感的方式格式化基本的十进制数字

13 个版本 (7 个稳定版)

1.5.0 2024年5月28日
1.4.0 2023年11月16日
1.3.2 2023年10月3日
1.2.0 2023年4月14日
0.3.0 2021年7月30日

#407 in 国际化 (i18n)

Download history 4128/week @ 2024-05-05 3939/week @ 2024-05-12 3885/week @ 2024-05-19 4131/week @ 2024-05-26 4147/week @ 2024-06-02 3684/week @ 2024-06-09 3672/week @ 2024-06-16 3699/week @ 2024-06-23 3720/week @ 2024-06-30 4448/week @ 2024-07-07 6809/week @ 2024-07-14 5308/week @ 2024-07-21 8579/week @ 2024-07-28 23836/week @ 2024-08-04 24142/week @ 2024-08-11 22515/week @ 2024-08-18

79,448 每月下载量
34 个 crate 中使用 (13 个直接使用)

Unicode-3.0

605KB
10K SLoC

icu_decimal crates.io

格式化基本的十进制数字。

此模块作为其自己的 crate (icu_decimal) 和 icu crate 的一部分发布。有关 ICU4X 项目的更多详细信息,请参阅后者。

支持计划包括货币、度量单位和紧凑表示法。要跟踪进度,请关注 icu4x#275

示例

使用孟加拉数字格式化数字

use fixed_decimal::FixedDecimal;
use icu::decimal::FixedDecimalFormatter;
use icu::locid::locale;
use writeable::assert_writeable_eq;

let fdf = FixedDecimalFormatter::try_new(
    &locale!("bn").into(),
    Default::default(),
)
.expect("locale should be present");

let fixed_decimal = FixedDecimal::from(1000007);

assert_writeable_eq!(fdf.format(&fixed_decimal), "১০,০০,০০৭");

格式化小数点后的数字

use fixed_decimal::FixedDecimal;
use icu::decimal::FixedDecimalFormatter;
use icu::locid::Locale;
use writeable::assert_writeable_eq;

let fdf =
    FixedDecimalFormatter::try_new(&Locale::UND.into(), Default::default())
        .expect("locale should be present");

let fixed_decimal = FixedDecimal::from(200050).multiplied_pow10(-2);

assert_writeable_eq!(fdf.format(&fixed_decimal), "2,000.50");

使用替代数字系统格式化数字

在区域具有该数字系统的符号的情况下,将遵循在 -u-nu 子标签中指定的数字系统。

use fixed_decimal::FixedDecimal;
use icu::decimal::FixedDecimalFormatter;
use icu::locid::locale;
use writeable::assert_writeable_eq;

let fdf = FixedDecimalFormatter::try_new(
    &locale!("th-u-nu-thai").into(),
    Default::default(),
)
.expect("locale should be present");

let fixed_decimal = FixedDecimal::from(1000007);

assert_writeable_eq!(fdf.format(&fixed_decimal), "๑,๐๐๐,๐๐๗");

更多信息

有关开发、作者身份、贡献等更多信息,请访问 ICU4X 主页

依赖项

~1.6–2.2MB
~42K SLoC