РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
774 of 1245 menu

Трейт UpperHex

Трейт UpperHex используется для форматирования значения в верхнем шестнадцатеричном виде, то есть с использованием цифр 0-9 и заглавных букв A-F. Он лежит в основе спецификатора {:X} макросов форматирования, таких как format!, println! и других. Параметром метод fmt принимает изменяемую ссылку на объект Formatter, который управляет процессом форматирования.

Синтаксис

impl UpperHex for Type { fn fmt(&self, f: &mut Formatter) -> fmt::Result { // implementation } }

Пример

Встроенные целочисленные типы уже реализуют трейт UpperHex. Давайте отформатируем число с помощью спецификатора {:X}:

fn main() { let res = format!("{:X}", 255); println!("{}", res); }

Результат выполнения кода:

"FF"

Пример

Давайте сравним верхний и нижний шестнадцатеричный формат для одного и того же числа:

fn main() { let upper = format!("{:X}", 48879); let lower = format!("{:x}", 48879); println!("upper: {}", upper); println!("lower: {}", lower); }

Результат выполнения кода:

upper: BEEF lower: beef

Пример

Давайте реализуем трейт UpperHex для собственной структуры и отформатируем её:

use std::fmt; struct Color { r: u8, g: u8, b: u8, } impl fmt::UpperHex for Color { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "#{:02X}{:02X}{:02X}", self.r, self.g, self.b) } } fn main() { let c = Color { r: 255, g: 128, b: 0 }; println!("{:X}", c); }

Результат выполнения кода:

#FF8000

Смотрите также

  • спецификатор {:X},
    который использует трейт UpperHex для форматирования
  • трейт LowerHex,
    который форматирует значение в нижнем шестнадцатеричном виде
  • трейт Formatter,
    который управляет процессом форматирования
  • макрос format!,
    который создаёт строку с помощью форматирования
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить