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

Преобразование в i8

Преобразование в i8 - это приведение значения к знаковому целому числу размером 8 бит. Диапазон значений i8 составляет от -128 до 127. Преобразование может выполняться с помощью оператора as, метода try_into или типажа From. Параметром в каждом случае выступает исходное значение, которое нужно преобразовать в i8.

Синтаксис

let res = value as i8; let res: Result<i8, _> = value.try_into(); let res = i8::from(value);

Пример

Давайте преобразуем число 42 типа i32 в i8 с помощью оператора as:

fn main() { let value: i32 = 42; let res = value as i8; println!("{}", res); }

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

42

Пример

Давайте преобразуем число 300 типа i32 в i8. Так как 300 выходит за пределы диапазона i8, оператор as выполнит усечение:

fn main() { let value: i32 = 300; let res = value as i8; println!("{}", res); }

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

44

Пример

Давайте преобразуем число 300 типа i32 в i8 с помощью метода try_into. Этот метод вернёт ошибку, если значение не помещается в диапазон i8:

use std::convert::TryInto; fn main() { let value: i32 = 300; let res: Result<i8, _> = value.try_into(); println!("{:?}", res); }

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

Err(TryFromIntError(()))

Пример

Давайте преобразуем число 42 типа i32 в i8 с помощью метода try_into. Так как значение помещается в диапазон i8, преобразование пройдёт успешно:

use std::convert::TryInto; fn main() { let value: i32 = 42; let res: Result<i8, _> = value.try_into(); println!("{:?}", res); }

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

Ok(42)

Пример

Давайте преобразуем число 42 типа i32 в i8 с помощью метода from типажа From:

fn main() { let value: i32 = 42; let res = i8::from(value); println!("{}", res); }

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

42

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

  • оператор as,
    который выполняет приведение типов с возможным усечением
  • метод try_into,
    который выполняет безопасное преобразование с проверкой диапазона
  • типаж From,
    который определяет преобразование между типами
  • метод to_i16,
    который преобразует значение в тип i16
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить