Меню Закрыть

Vba дробная часть числа

Содержание

Возвращает целую часть числа.

Обязательный аргумент числоаргумент представляет собой значение типа Double или любое допустимое числовое выражение. Если число содержит значение NULL, возвращается NULL.

Функции Int и Fix удаляют дробную часть числа и возвращают полученное целое значение.

Различие между функциями Int и Fix состоит в том, что при отрицательном значении числа функция Int возвращает первое отрицательное целое число, не превышающее число, а функция Fix — первое отрицательное целое число, которое больше числа или равно ему. Например, функция Int преобразует -8,4 в -9, а Fix преобразует -8,4 в -8.

Функция Fix( число) вычисляется следующим образом:

Примеры запросов

ВЫБЕРИТЕ int ([Скидка]) как Выражение1 из Продуктсалес;

Удаляет дробную часть всех значений в поле "скидка" и возвращает результирующие целые значения. Для отрицательных дробей "int" возвращает первое отрицательное целое число, которое меньше или равно. Например, для значения скидки "-223,20" возвращаемое целое число будет равно-224,00.

Выберите команду Fix ([Скидка]) как Выражение1 из Продуктсалес;

Удаляет дробную часть всех значений в поле "скидка" и возвращает результирующие целые значения. Для отрицательных дробей "Fix" возвращает первое отрицательное целое число, большее или равное. Например, для значения скидки "-223,20" возвращаемое целое число будет равно-223,00.

Пример VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере показано, как функции Int и Fix возвращают целые части чисел. Если значением аргумента является отрицательное число, функция Int возвращает первое отрицательное целое число, не превышающее его, а функция Fix — первое отрицательное целое число, которое больше этого значения или равно ему.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Visual Basic предоставляет несколько числовых типов данных для обработки чисел в различных представлениях. Visual Basic supplies several numeric data types for handling numbers in various representations. Целочисленные типы представляют только целые числа (положительные, отрицательные и нулевые), а Нецелочисленные типы — числа с целой и дробной частями. Integral types represent only whole numbers (positive, negative, and zero), and nonintegral types represent numbers with both integer and fractional parts.

Для таблицы, показывающей параллельное сравнение типов данных Visual Basic, см. в разделе типы данных. For a table showing a side-by-side comparison of the Visual Basic data types, see Data Types.

Целочисленные типы Integral Numeric Types

Целочисленные типы данных — это те, которые представляют только числа без дробных частей. Integral data types are those that represent only numbers without fractional parts.

Целочисленные типы данных со знаком имеют тип данных SByte (8-разрядный), короткий тип данных (16-разрядный), целочисленный тип данных (32 бит) и тип данных Long (64-бит). The signed integral data types are SByte Data Type (8-bit), Short Data Type (16-bit), Integer Data Type (32-bit), and Long Data Type (64-bit). Если переменная всегда хранит целые числа, а не дробные числа, объявите ее как один из этих типов. If a variable always stores integers rather than fractional numbers, declare it as one of these types.

Читайте также:  Посмотреть дом на карте со спутника

Целочисленные типы без знака имеют тип данных Byte (8-разрядный), тип данных UShort (16-разрядный), тип данных UInteger (32 бит) и тип данных ULong (64-бит). The unsigned integral types are Byte Data Type (8-bit), UShort Data Type (16-bit), UInteger Data Type (32-bit), and ULong Data Type (64-bit). Если переменная содержит двоичные данные или данные неизвестной природы, объявите ее как один из этих типов. If a variable contains binary data, or data of unknown nature, declare it as one of these types.

Производительность Performance

Арифметические операции выполняются быстрее с целочисленными типами, чем с другими типами данных. Arithmetic operations are faster with integral types than with other data types. Они работают быстрее с типами Integer и UInteger в Visual Basic. They are fastest with the Integer and UInteger types in Visual Basic.

Большие целые числа Large Integers

Если необходимо хранить целое число, большее, чем Integer тип данных, можно использовать Long тип данных. If you need to hold an integer larger than the Integer data type can hold, you can use the Long data type instead. Long переменные могут содержать числа от-9223372036854775808 до 9 223 372 036 854 775 807. Long variables can hold numbers from -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807. Операции с Long немного медленнее, чем в Integer . Operations with Long are slightly slower than with Integer .

Если вам нужны еще большие значения, можно использовать тип данных Decimal. If you need even larger values, you can use the Decimal Data Type. Можно хранить числа от-79,228,162,514,264,337,593,543,950,335 до 79,228,162,514,264,337,593,543,950,335 в переменной Decimal , если не используются десятичные разряды. You can hold numbers from -79,228,162,514,264,337,593,543,950,335 through 79,228,162,514,264,337,593,543,950,335 in a Decimal variable if you do not use any decimal places. Однако операции с числами Decimal значительно медленнее, чем с любым другим числовым типом данных. However, operations with Decimal numbers are considerably slower than with any other numeric data type.

Небольшие целые числа Small Integers

Если не требуется полный диапазон Integer типа данных, можно использовать Short тип данных, который может содержать целые числа от-32 768 до 32 767. If you do not need the full range of the Integer data type, you can use the Short data type, which can hold integers from -32,768 through 32,767. Для наименьшего диапазона целых чисел SByte тип данных содержит целые числа от-128 до 127. For the smallest integer range, the SByte data type holds integers from -128 through 127. При наличии очень большого числа переменных, содержащих небольшие целые числа, среда CLR иногда может хранить Short и SByte переменные более эффективно и экономить потребление памяти. If you have a very large number of variables that hold small integers, the common language runtime can sometimes store your Short and SByte variables more efficiently and save memory consumption. Однако операции с Short и SByte несколько медленнее, чем в Integer . However, operations with Short and SByte are somewhat slower than with Integer .

Читайте также:  Быстрые команды яндекс навигатор

Целые числа без знака Unsigned Integers

Если известно, что переменная никогда не должна содержать отрицательное число, можно использовать неподписанные типы Byte , UShort , UInteger и ULong . If you know that your variable never needs to hold a negative number, you can use the unsigned types Byte , UShort , UInteger , and ULong . Каждый из этих типов данных может содержать положительное целое число в два раза больше, чем соответствующий знаковый тип ( SByte , Short , Integer и Long ). Each of these data types can hold a positive integer twice as large as its corresponding signed type ( SByte , Short , Integer , and Long ). С точки зрения производительности каждый тип без знака является точно таким же эффективным, как и соответствующий тип со знаком. In terms of performance, each unsigned type is exactly as efficient as its corresponding signed type. В частности, UInteger предоставляет общий доступ к Integer отличие наиболее эффективного из всех простейших числовых типов данных. In particular, UInteger shares with Integer the distinction of being the most efficient of all the elementary numeric data types.

Нецелочисленные числовые типы Nonintegral Numeric Types

Нецелочисленные типы данных — это значения, представляющие числа с целой и дробной частями. Nonintegral data types are those that represent numbers with both integer and fractional parts.

Нецелочисленные числовые типы данных Decimal (128-разрядная Фиксированная точка), один тип данных (32-разрядная с плавающей запятой) и тип данных Double (64-разрядный с плавающей запятой). The nonintegral numeric data types are Decimal (128-bit fixed point), Single Data Type (32-bit floating point), and Double Data Type (64-bit floating point). Все типы со знаком. They are all signed types. Если переменная может содержать дробную часть, объявите ее как один из этих типов. If a variable can contain a fraction, declare it as one of these types.

Decimal не является типом данных с плавающей запятой. Decimal is not a floating-point data type. Decimal числа имеют двоичное целочисленное значение и целочисленный коэффициент масштабирования, указывающий, какая часть значения является десятичной дробью. Decimal numbers have a binary integer value and an integer scaling factor that specifies what portion of the value is a decimal fraction.

Для денежных значений можно использовать Decimal переменные. You can use Decimal variables for money values. Преимущество — точность значений. The advantage is the precision of the values. Тип данных Double является более быстрым и требует меньше памяти, но он подвергается ошибкам округления. The Double data type is faster and requires less memory, but it is subject to rounding errors. Тип данных Decimal сохраняет полную точность до 28 десятичных разрядов. The Decimal data type retains complete accuracy to 28 decimal places.

Числа с плавающей запятой ( Single и Double ) имеют большие диапазоны, чем Decimal числа, но могут подвергаться ошибкам округления. Floating-point ( Single and Double ) numbers have larger ranges than Decimal numbers but can be subject to rounding errors. Типы с плавающей запятой поддерживают меньше значащих цифр, чем Decimal , но могут представлять значения большей величины. Floating-point types support fewer significant digits than Decimal but can represent values of greater magnitude.

Читайте также:  Сколько времени держит зарядку смартфон

Нецелочисленные числовые значения можно выразить как Мммии, в котором MMM является мантиссаом (значащими цифрами), а ие — экспонентой (степенью 10). Nonintegral number values can be expressed as mmmEeee, in which mmm is the mantissa (the significant digits) and eee is the exponent (a power of 10). Наибольшие положительные значения нецелочисленных типов — 7.9228162514264337593543950335 E + 28 для Decimal , 4028235E E + 38 для Single и 1.79769313486231570 E + 308 для Double . The highest positive values of the nonintegral types are 7.9228162514264337593543950335E+28 for Decimal , 3.4028235E+38 for Single , and 1.79769313486231570E+308 for Double .

Производительность Performance

Double является наиболее эффективным из типов данных дробной части, так как процессоры на текущих платформах выполняют операции с плавающей запятой с двойной точностью. Double is the most efficient of the fractional data types, because the processors on current platforms perform floating-point operations in double precision. Однако операции с Double не так быстро, как с целочисленными типами, такими как Integer . However, operations with Double are not as fast as with the integral types such as Integer .

Небольшие величины Small Magnitudes

Для чисел с наименьшей возможной величиной (ближайшее к 0) Double переменные могут содержать числа в виде мелких, например, 4.94065645841246544 E-324 для отрицательных значений и 4.94065645841246544 E-324 для положительных значений. For numbers with the smallest possible magnitude (closest to 0), Double variables can hold numbers as small as -4.94065645841246544E-324 for negative values and 4.94065645841246544E-324 for positive values.

Небольшие дробные числа Small Fractional Numbers

Если не требуется полный диапазон Double типа данных, можно использовать Single тип данных, который может содержать числа с плавающей запятой в диапазоне от-4028235E E + 38 до 4028235E E + 38. If you do not need the full range of the Double data type, you can use the Single data type, which can hold floating-point numbers from -3.4028235E+38 through 3.4028235E+38. Наименьшими значениями для Single переменных являются-1.401298 E-45 для отрицательных значений и 1.401298 E-45 для положительных значений. The smallest magnitudes for Single variables are -1.401298E-45 for negative values and 1.401298E-45 for positive values. При наличии очень большого числа переменных, содержащих небольшие числа с плавающей запятой, среда CLR может иногда сохранять Single переменные более эффективно и экономить потребление памяти. If you have a very large number of variables that hold small floating-point numbers, the common language runtime can sometimes store your Single variables more efficiently and save memory consumption.

  • ABS() — эта функция возвращает абсолютное значение переданного ей числа (то же число, но без знака). Например, ABS(3) и ABS(-3) вернут одно и то же значение 3.
  • Int() , Fix() и Round() позволяют по разному округлять числа:
  • Int() возвращает ближайшее меньшее целое;
  • Fix() отбрасывает дробную часть;
  • Round() округляет до указанного количества знаков после запятой.

Однако Round может вернуть не совсем ожидаемый результат. Если мы выполним такую строку кода

MsgBox Round(2.505, 2)

то результатом будет 2,5, хотя предполагалось получить 2,51. Поэтому порой для округления лучше использовать Format :

MsgBox Format(2.505, "#,##0.00")

Dim lRundNum As Long, lMinNum As Long, lMaxNum As Long lMinNum = 1: lMaxNum = 100 Randomize lRundNum = Int(lMinNum + (Rnd() * lMaxNum)) MsgBox lRundNum

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.