On this page
Trait std::fmt::Octal
pub trait Octal {
// Required method
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
o
formatting.
The Octal
trait should format its output as a number in base-8.
For primitive signed integers (i8
to i128
, and isize
), negative values are formatted as the two’s complement representation.
The alternate flag, #
, adds a 0o
in front of the output.
For more information on formatters, see the module-level documentation.
Examples
Basic usage with i32
:
let x = 42; // 42 is '52' in octal
assert_eq!(format!("{x:o}"), "52");
assert_eq!(format!("{x:#o}"), "0o52");
assert_eq!(format!("{:o}", -16), "37777777760");
Implementing Octal
on a type:
use std::fmt;
struct Length(i32);
impl fmt::Octal for Length {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let val = self.0;
fmt::Octal::fmt(&val, f) // delegate to i32's implementation
}
}
let l = Length(9);
assert_eq!(format!("l as octal is: {l:o}"), "l as octal is: 11");
assert_eq!(format!("l as octal is: {l:#06o}"), "l as octal is: 0o0011");
Required Methods
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
Implementors
impl Octal for i8
impl Octal for i16
impl Octal for i32
impl Octal for i64
impl Octal for i128
impl Octal for isize
impl Octal for u8
impl Octal for u16
impl Octal for u32
impl Octal for u64
impl Octal for u128
impl Octal for usize
impl Octal for NonZeroI8
impl Octal for NonZeroI16
impl Octal for NonZeroI32
impl Octal for NonZeroI64
impl Octal for NonZeroI128
impl Octal for NonZeroIsize
impl Octal for NonZeroU8
impl Octal for NonZeroU16
impl Octal for NonZeroU32
impl Octal for NonZeroU64
impl Octal for NonZeroU128
impl Octal for NonZeroUsize
impl<T> Octal for &T
where
T: Octal + ?Sized,
impl<T> Octal for &mut T
where
T: Octal + ?Sized,
impl<T> Octal for Saturating<T>
where
T: Octal,
impl<T> Octal for Wrapping<T>
where
T: Octal,
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/fmt/trait.Octal.html