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

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

Преобразование в i64 - это приведение значения к 64-битному целому числу со знаком. В Rust такое преобразование выполняется с помощью оператора as, методов into, try_into или from в зависимости от исходного типа. Оператор as выполняет приведение между примитивными числовыми типами, метод into работает через типаж Into, а метод try_into возвращает Result, если преобразование может завершиться ошибкой. Параметром метода try_into выступает целевой тип, который выводится из контекста.

Синтаксис

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

Пример

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

fn main() { let num: i32 = 12345; let res = num as i64; println!("{}", res); }

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

12345

Пример

Давайте преобразуем число типа u8 в i64 с помощью метода into:

fn main() { let num: u8 = 200; let res: i64 = num.into(); println!("{}", res); }

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

200

Пример

Давайте преобразуем число типа u64 в i64 с помощью метода try_into, так как число может не поместиться в целевой тип:

fn main() { let num: u64 = 12345; let res: Result<i64, _> = num.try_into(); println!("{:?}", res); }

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

Ok(12345)

Пример

Давайте попробуем преобразовать слишком большое число типа u64 в i64 и получим ошибку:

fn main() { let num: u64 = u64::MAX; let res: Result<i64, _> = num.try_into(); println!("{:?}", res); }

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

Err(TryFromIntError(()))

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

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