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

Метод checked_div

Метод checked_div выполняет деление одного числа типа i32 на другое, но в отличие от обычного оператора / он не вызывает панику при делении на ноль или при переполнении. Вместо этого метод возвращает значение типа Option<i32>. Параметром метод принимает делитель - число, на которое нужно разделить текущее значение.

Если деление прошло успешно, возвращается Some с результатом. Если делитель равен нулю или происходит переполнение (например, при делении i32::MIN на -1), возвращается None.

Синтаксис

i32.checked_div(rhs)

Пример

Давайте разделим число 10 на 2 с помощью метода checked_div:

fn main() { let res = 10i32.checked_div(2); println!("{:?}", res); }

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

Some(5)

Пример

Давайте попробуем разделить число 10 на 0:

fn main() { let res = 10i32.checked_div(0); println!("{:?}", res); }

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

None

Пример

Давайте проверим переполнение при делении минимального значения i32 на -1:

fn main() { let res = i32::MIN.checked_div(-1); println!("{:?}", res); }

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

None

Пример

Давайте используем checked_div вместе с match для обработки обоих случаев:

fn main() { let a = 20i32; let b = 4i32; match a.checked_div(b) { Some(res) => println!("Result: {}", res), None => println!("Division failed"), } }

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

Result: 5

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

  • метод checked_add,
    который выполняет сложение с проверкой переполнения
  • метод checked_sub,
    который выполняет вычитание с проверкой переполнения
  • метод checked_mul,
    который выполняет умножение с проверкой переполнения
  • класс i32,
    который представляет 32-битное целое число со знаком
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить