exponenta event banner

mustBeInteger

Проверить, что значение целое

Описание

пример

mustBeInteger(value) выдает ошибку, если value не содержит целочисленных значений. Эта функция проверяет числа без дробной части. Тип данных значений не учитывается. mustBeInteger не возвращает значение.

mustBeInteger вызывает эти функции, чтобы определить, value является целым числом:

Поддержка классов: Все числовые классы, logicalи классы MATLAB ®, которые перегружают функции, вызываемые mustBeInteger.

Эта функция игнорирует входные аргументы, которые являются пустыми значениями. Поэтому при пустом значении аргумента свойства или функции ошибка не возникает.

Примеры

свернуть все

Проверьте, что вычисление приводит к целочисленным значениям.

A = randi(9)/randi(9);
mustBeInteger(A)
Error using mustBeInteger (line 14)
Values must be integer.

Если результат деления двух случайных целых чисел содержит дробную часть, mustBeInteger выдает ошибку.

Этот класс ограничивает значение свойства только целыми числами.

classdef MyClass
   properties
      Prop1 {mustBeInteger}
   end
end

Создайте объект и назначьте ему значение. Результатом деления двух случайных целых чисел может быть целое число или число с дробной частью.

obj = MyClass;
obj.Prop1 = randi(9)/randi(9);
Error setting 'Prop1' property of 'MyClass' class:
Value must be integer.

При назначении значения свойству вызов MATLAB mustBeInteger со значением, назначенным свойству. mustBeInteger выдает ошибку, когда значение, полученное в результате деления этих конкретных случайных чисел, не приводит к целому числу.

Эта функция ограничивает входной аргумент значением, не имеющим дробной части.

function r = mbInteger(A,idx)
    arguments
        A (1,:) {mustBeNumeric}
        idx (1,1) {mustBeInteger}
    end
    r = A(idx).^2;
end

Вызов этой функции с неинтегрированным значением приводит к возникновению ошибки mustBeInteger. Результатом деления двух случайных целых чисел может быть целое число или число с дробной частью.

idx = randi(9)/randi(9);
A = rand(1,10);
r = mbInteger(A,idx);
Error using mbInteger
Invalid input argument at position 2. Value must be integer.

Входные аргументы

свернуть все

Значение для проверки, указанное как скаляр или массив любого из следующих значений:

Другие типы данных вызывают ошибку.

Совет

  • mustBeInteger предназначен для использования при проверке аргументов свойств и функций.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2017a