use std::fmt;
#[derive(Copy, Clone, Eq, PartialEq, Serialize, Deserialize, Hash, Debug)]
pub struct NationalNumber {
pub(crate) value: u64,
pub(crate) zeros: u8,
}
impl NationalNumber {
pub fn value(&self) -> u64 {
self.value
}
pub fn zeros(&self) -> u8 {
self.zeros
}
}
impl From<NationalNumber> for u64 {
fn from(n: NationalNumber) -> u64 {
n.value
}
}
impl fmt::Display for NationalNumber {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
for _ in 0..self.zeros {
write!(f, "0")?;
}
write!(f, "{}", self.value)
}
}