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

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

Преобразование в u16 - это приведение значения к типу беззнакового 16-битного целого числа. Такой тип хранит значения от 0 до 65535. Преобразование можно выполнить с помощью оператора as, метода try_into, метода from, а также через метод parse для строк. Выбор способа зависит от того, нужно ли безопасное преобразование с проверкой диапазона или достаточно простого приведения.

Синтаксис

let res: u16 = value as u16; let res: Result<u16, _> = value.try_into(); let res: u16 = u16::from(value); let res: Result<u16, _> = "12345".parse::<u16>();

Пример

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

fn main() { let value: u8 = 200; let res = value as u16; println!("{}", res); }

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

200

Пример

Давайте преобразуем число типа i32 в u16 с помощью оператора as. Приведение отбрасывает лишние биты:

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

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

4464

Пример

Давайте выполним безопасное преобразование из i32 в u16 с помощью метода try_into:

fn main() { let value: i32 = 12345; let res: Result<u16, _> = value.try_into(); println!("{:?}", res); }

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

Ok(12345)

Пример

Давайте попробуем безопасно преобразовать слишком большое число i32 в u16 с помощью метода try_into:

fn main() { let value: i32 = 70000; let res: Result<u16, _> = value.try_into(); println!("{:?}", res); }

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

Err(TryFromIntError(()))

Пример

Давайте преобразуем число типа u8 в u16 с помощью метода from. Такое преобразование всегда безопасно, так как u8 полностью помещается в u16:

fn main() { let value: u8 = 200; let res = u16::from(value); println!("{}", res); }

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

200

Пример

Давайте преобразуем строку "12345" в число типа u16 с помощью метода parse:

fn main() { let res: Result<u16, _> = "12345".parse(); println!("{:?}", res); }

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

Ok(12345)

Пример

Давайте попробуем преобразовать строку "abcde" в число типа u16 с помощью метода parse:

fn main() { let res: Result<u16, _> = "abcde".parse(); println!("{:?}", res); }

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

Err(ParseIntError { kind: InvalidDigit })

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

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