1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
// This file is part of ICU4X. For terms of use, please see the file
// called LICENSE at the top level of the ICU4X source tree
// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
//! Parts of a formatted decimal.
//!
//! # Examples
//!
//! ```
//! use icu::calendar::Gregorian;
//! use icu::calendar::{Date, Time};
//! use icu::decimal::parts;
//! use icu::decimal::FixedDecimalFormatter;
//! use icu::locale::locale;
//! use writeable::assert_writeable_parts_eq;
//!
//! let dtf = FixedDecimalFormatter::try_new(
//! locale!("en").into(),
//! Default::default(),
//! )
//! .unwrap();
//!
//! let fixed_decimal = "-987654.321".parse().unwrap();
//!
//! // Missing data is filled in on a best-effort basis, and an error is signaled.
//! assert_writeable_parts_eq!(
//! dtf.format(&fixed_decimal),
//! "-987,654.321",
//! [
//! (0, 1, parts::MINUS_SIGN),
//! (1, 8, parts::INTEGER),
//! (4, 5, parts::GROUP),
//! (8, 9, parts::DECIMAL),
//! (9, 12, parts::FRACTION),
//! ]
//! );
//! ```
use writeable::Part;
/// A [`Part`] used by [`FormattedFixedDecimal`](super::FormattedFixedDecimal).
pub const PLUS_SIGN: Part = Part {
category: "decimal",
value: "plusSign",
};
/// A [`Part`] used by [`FormattedFixedDecimal`](super::FormattedFixedDecimal).
pub const MINUS_SIGN: Part = Part {
category: "decimal",
value: "minusSign",
};
/// A [`Part`] used by [`FormattedFixedDecimal`](super::FormattedFixedDecimal).
pub const INTEGER: Part = Part {
category: "decimal",
value: "integer",
};
/// A [`Part`] used by [`FormattedFixedDecimal`](super::FormattedFixedDecimal).
pub const FRACTION: Part = Part {
category: "decimal",
value: "fraction",
};
/// A [`Part`] used by [`FormattedFixedDecimal`](super::FormattedFixedDecimal).
pub const GROUP: Part = Part {
category: "decimal",
value: "group",
};
/// A [`Part`] used by [`FormattedFixedDecimal`](super::FormattedFixedDecimal).
pub const DECIMAL: Part = Part {
category: "decimal",
value: "decimal",
};