Целая часть числа vba excel

Возвращение целой части дробного десятичного числа с помощью функций Int и Fix в VBA Excel. Синтаксис, правила округления, примеры.

Int – это функция, которая удаляет дробную часть исходного числа и возвращает целое число меньшее или равное исходному числу.

Синтаксис:

Функция Fix

Fix – это функция, которая удаляет дробную часть исходного числа и возвращает, если число положительное, целое число меньшее или равное исходному числу или, если число отрицательное, целое число большее или равное исходному числу.

Другими словами, функция Fix просто отбрасывает дробную часть исходного числа, возвращая целую часть без каких-либо преобразований (смотрите примеры).

Синтаксис:

Примеры

Сходство и различие функций Int и Fix на примерах:

MsgBox Int(9.1) ‘Результат: 9

MsgBox Fix(9.1) ‘Результат: 9

MsgBox Int(9.9) ‘Результат: 9

MsgBox Fix(9.9) ‘Результат: 9

MsgBox Int(9.1) ‘Результат: -10

MsgBox Fix(9.1) ‘Результат: -9

MsgBox Int(9.9) ‘Результат: -10

MsgBox Fix(9.9) ‘Результат: -9


Функция Fix

Fix(Number)

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

Выражение Fix(Number) эквивалентно следующему:
Sgn(Number) * Int(Abs(Number))

Возвращаемое значение

Функция возвращает значение типа, совпадающего с типом аргумента, которое содержит целую часть числа

Параметры

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

Примечание
Если значение аргумента не попадает в диапазон допустимых значений Double, то генерируется ошибка стадии выполнения Overflow
Если аргумент имеет тип данных String, то он должен представлять собой число, иначе генерируется ошибка стадии выполнения Type mismastch

Пример

' В примере показано,
' как функции Int и Fix возвращают целые части чисел.
' В случае отрицательного аргумента Int возвращает
' ближайшее отрицательное целое число,
' меньшее либо равное указанному,
' а Fix ближайшее отрицательное целое число,
' большее либо равное указанному

Dim MyNumber
MyNumber = Int(99.8) ' Возвращает 99
MyNumber = Fix(99.2) ' Возвращает 99

MyNumber = Int(-99.8) ' Возвращает -100
MyNumber = Fix(-99.8) ' Возвращает -99

MyNumber = Int(-99.2) ' Возвращает -100
MyNumber = Fix(-99.2) ' Возвращает -99

Категория
Математические функцииМатематические функции

Содержание

  1. Функции Int, Fix
  2. Примеры запросов
  3. Пример VBA
  4. Функции преобразования типов
  5. Синтаксис
  6. Возвращаемые типы
  7. Примечания
  8. Пример функции CBool
  9. Пример функции CByte
  10. Пример функции CCur
  11. Пример функции CDate
  12. Пример функции CDbl
  13. Пример функции CDec
  14. Пример функции CInt
  15. Пример функции CLng
  16. Пример функции CSng
  17. Пример функции CStr
  18. Пример функции CVar
  19. См. также
  20. Поддержка и обратная связь
  21. Int, Fix functions
  22. Синтаксис
  23. Замечания
  24. Пример
  25. См. также
  26. Поддержка и обратная связь
  27. Vba excel целая часть числа
  28. Функция Fix

Функции Int, Fix

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

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

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

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

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

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

SELECT Int([Discount]) AS Expr1 FROM ProductSales;

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

SELECT Fix([Discount]) AS Expr1 FROM ProductSales;

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

Пример VBA

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

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

Источник

Функции преобразования типов

Каждая функция приводит выражение к нужному типу данных.

Синтаксис

  • CBool(выражение)
  • CByte(выражение)
  • CCur(выражение)
  • CDate(выражение)
  • CDbl(выражение)
  • CDec(выражение)
  • CInt(выражение)
  • CLng(выражение)
  • CLngLng(выражение) (действительно только для 64-разрядных платформ).
  • CLngPtr(выражение)
  • CSng(выражение)
  • CStr(выражение)
  • CVar(выражение)

Обязательный аргумент выражение — это любое строковое или числовое выражение.

Возвращаемые типы

Тип возвращаемого значения определяется по имени функции в соответствии со следующей таблицей:

Функция Тип возвращаемых данных Диапазон выражения-аргумента
CBool Boolean Любое допустимое строковое или числовое выражение.
CByte Byte От 0 до 255.
CCur Currency От -922 337 203 685 477,5808 до 922 337 203 685 477,5807.
CDate Date Любое допустимое выражение даты.
CDbl Double От -1,79769313486231E308 до -4,94065645841247E-324 для отрицательных значений; от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений.
CDec Decimal 79 228 162 514 264 337 593 543 950 335 для чисел без десятичных знаков. Для чисел с 28 десятичными знаками диапазон составляет 7,9228162514264337593543950335. Наименьшим возможным числом, отличным от нуля, является число 0,0000000000000000000000000001.
CInt Integer От -32 768 до 32 767, дробная часть округляется.
CLng Long От -2 147 483 648 до 2 147 483 647, дробная часть округляется.
CLngLng LongLong От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807; дробная часть округляется. (Действительно только для 64-разрядных платформ).
CLngPtr LongPtr От -2 147 483 648 до 2 147 483 647 для 32-разрядных систем; от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 для 64-разрядных систем; дробная часть округляется в обоих типах систем.
CSng Single От -3,402823E38 до -1,401298E-45 для отрицательных значений; от 1,401298E-45 до 3,402823E38 для положительных значений.
CStr String Результат, возвращаемый функцией CStr, зависит от аргумента выражение.
CVar Variant Диапазон совпадает с типом Double для числовых значений и с типом String для нечисловых значений.

Примечания

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

Для явного присвоения значений типа LongLong (включая тип LongPtr на 64-разрядных платформах) целочисленным типам данных меньшего размера должны использоваться функции преобразования. Неявные преобразования типа LongLong в меньшие целочисленные типы не допускаются.

Как правило, функции преобразования типов используются в тексте программ для того, чтобы указать, что результатом той или иной операции должны стать данные определенного типа, а не типа, заданного по умолчанию. Например, с помощью функции CCur можно принудительно перейти к вычислениям в денежном формате в тех случаях, в которых обычно используются действия с числами с обычной точностью, двойной точностью или с целыми числами.

Функции преобразования типа данных следует использовать вместо функции Val для преобразования типов данных в приложениях, поддерживающих различные региональные стандарты. Например, при использовании функции CCur десятичные разделители, разделители групп разрядов и параметры денежных единиц распознаются в соответствии с языковыми и региональными параметрами компьютера.

Если дробная часть целого числа строго равна 0,5, функции CInt и CLng всегда округляют результат до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 — до 2. Функции CInt и CLng отличаются от функций Fix и Int, которые отбрасывают дробную часть числа, а не округляют ее. Кроме того, функции Fix и Int всегда возвращают значение того же типа, что и переданное им выражение.

Для определения возможности преобразования date в дату или время используется функция IsDate. Функция CDate распознает литералы даты и времени, а также некоторые числа, которые находятся в диапазоне допустимых дат. При преобразовании числа в дату преобразуется целая часть числа. Дробная часть преобразуется во время суток, начиная с полуночи.

Функция CDate распознает форматы даты в соответствии с национальной настройкой системы. Если формат передаваемого аргумента не соответствует распознаваемым настройкам даты, функция не сможет определить правильный порядок дней, месяцев и лет. Кроме того, длинный формат даты не распознается, если в нем содержится строка дня недели.

Функция CVDate предназначена для обеспечения совместимости с предыдущими версиями Visual Basic. Синтаксис функции CVDate не отличается от синтаксиса функции CDate; однако функция CVDate возвращает тип Variant, подтипом которого является тип Date, а не собственно тип Date. Поскольку теперь реализован встроенный тип Date, необходимость в функции CVDate отпадает. Такой же результат можно получить, если преобразовать выражение в тип Date и присвоить его типу Variant. Этот способ позволяет преобразовать все прочие встроенные типы в эквивалентные им подтипы Variant.

Функция CDec не возвращает отдельный тип данных. Вместо этого она всегда возвращает результат типа Variant, значение которого преобразовано в подтип Decimal.

Пример функции CBool

В этом примере функция CBool используется для преобразования выражения в тип Boolean. Если выражение разрешается в ненулевое значение, функция CBool возвращает значение True, в противном случае она возвращает значение False.

Пример функции CByte

В этом примере функция CByte используется для преобразования выражения в тип Byte.

Пример функции CCur

В этом примере функция CCur используется для преобразования выражения в тип Currency.

Пример функции CDate

В этом примере функция CDate используется для преобразования выражения в тип Date. Как правило, не рекомендуется определять дату и время в виде строк (как показано в этом примере). Вместо этого рекомендуется использовать литералы даты и времени, такие как #2/12/1969# и #4:45:23 PM# .

Пример функции CDbl

В этом примере функция CDbl используется для преобразования выражения в тип Double.

Пример функции CDec

В этом примере функция CDec используется для преобразования выражения в тип Decimal.

Пример функции CInt

В этом примере функция CInt используется для преобразования выражения в тип Integer.

Пример функции CLng

В этом примере функция CLng используется для преобразования выражения в тип Long.

Пример функции CSng

В этом примере функция CSng используется для преобразования выражения в тип Single.

Пример функции CStr

В этом примере функция CStr используется для преобразования выражения в тип String.

Пример функции CVar

В этом примере функция CVar используется для преобразования выражения в тип Variant.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Int, Fix functions

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

Синтаксис

Int(number) Fix(number)

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

Замечания

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

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

Fix(number) эквивалентен Sgn(number) * Int(Abs(number)).

Пример

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

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Vba excel целая часть числа

Информация о сайте

Инструменты и настройки

Excel Windows
и
Excel Macintosh

Вопросы и решения

Работа и общение

Работа форума и сайта

Функции листа Excel

= Мир MS Excel/Справочники

Все функции VBA [3]
Математические функции [14]
Функции обработки массивов [4]
Функции обработки строк [27]
Функции преобразования типа данных [11]
Функции загрузки данных [8]
Функции работы с файлами [12]
Функции обработки системных параметров [16]
Функции обработки цвета [2]
Функции работы с датами и временем [21]
Функции преобразования чисел в разные системы счисления [3]
Функции работы с объектами [4]
Финансовые функции [13]
Функции форматирования [5]
Функции работы с указателями [3]

Функция Fix

Функция Fix(Fixed) отбрасывает дробную часть числа и возвращает целое значение. Функция схожа с функцией Int. Различие между функциями Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fix ближайшее отрицательное целое число, большее либо равное указанному. Например, функция Int преобразует -8.4 в -9, а функция Fix преобразует -8,4 в -8.
Выражение Fix(Number) эквивалентно следующему:
Sgn(Number) * Int(Abs(Number))

Функция возвращает значение типа, совпадающего с типом аргумента, которое содержит целую часть числа

Источник

Home / VBA / Top VBA Functions / VBA FIX Function (Syntax + Example)

The VBA FIX function is listed under the math category of VBA functions. When you use it in a VBA code, it can truncate a supplied number to an integer. In simple words, it returns an integer in the result after ignoring decimal values from the original number. It’s almost the same as the VBA INT function.

Fix(Number)

Arguments

  • Number: The numeric value for which you want to get the integer part.

Example

To practically understand how to use the VBA FIX function, you need to go through the below example where we have written a vba code by using it:

Sub example_FIX()
Range("B1").Value = Fix(Range("A1"))  
End Sub

In the above example, we have used the FIX to truncate the number from the cell A1 (-98.12) and it has returned -98 in the cell B1.

Notes

  • If the number supplied contains a NULL then it returns a NULL and if that number is lower than zero then the first negative integer greater than or equal to number is returned.

Главная » Функции VBA »

28 Апрель 2011              129187 просмотров

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

    Однако Round может вернуть не совсем ожидаемый результат, т.к. функция применяет финансовое округление. По правилам данного округления если за последней к округлению цифрой стоит 5, то округляемую цифру увеличивают в том случае, если она нечетная и уменьшают, если четная.
    Математическое же округление всегда округляет цифру в большую сторону, если за ней идет цифра 5 и выше, и отбрасывает остаток если 4 и меньше.
    Т.е. если мы выполним такую строку кода

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

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

    но в этом случае мы получим не число в чистом виде, а текст. И если нужно именно число, то придется производить дополнительные преобразования:

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

    Так же, для математического округления, можно использовать и такой вариант:

        MsgBox Application.Round(2.505, 2)

    Но здесь стоит учитывать, что это не чистый VB и этот метод сработает только в Excel, т.к. по сути мы обращаемся к встроенной в Excel функции округления ОКРУГЛ(ROUND), которая применяет именно математическое округление.

  • Rnd и команда Randomize используются для получения случайных значений (очень удобно для генерации имен файлов и в других ситуациях). Перед вызовом функции Rnd() необходимо выполнить команду Randomize для инициализации генератора случайных чисел.
        Dim lRundNum As Long, lMinNum As Long, lMaxNum As Long
        lMinNum = 1: lMaxNum = 100
        Randomize
        lRundNum = Int(lMinNum + (Rnd() * lMaxNum))
        MsgBox lRundNum
  • Sgn() — позволяет вернуть информацию о знаке числа. Возвращает 1, если число положительное, -1, если отрицательное и 0, если проверяемое число равно 0.
  • Mod() — Делит два числа и возвращает только остаток. Например, выражение 8 Mod 3 вернет число 2, т.к. без остатка(в виде дроби у результата деления) 8 делится на 3 только до 2-х(8 / 3 = 2,66666666666667).
    При этом функция Mod учитывает и знак числа — если первое число или оба числа отрицательные, то результатом будет отрицательное число. Если же отрицательное только второе число — то результат будет положительным числом.
    При попытке получить остаток при делении чисел с плавающей запятой результат может быть не тем, который ожидается, потому что перед выполнением деления оба числа округляются по математическим законам(5 и выше до большего, 4 и ниже — до меньшего). Например, выражение 8 Mod 3.5 вернет 0, а выражение 8 Mod 3.4 — 2.

Понравилась статья? Поделить с друзьями:
  • Целая часть от деления vba excel
  • Целая с дробью в excel
  • Цветок для microsoft word
  • Цветовые темы для excel
  • Цветовые схемы для word