Страницы: 1
RSS
Функция возвращающая остаток числа.
 
Мне нужна функция возвращающая остаток (Ищу кратные значения и произвожу с ними действия). Есть такая?
 
Пример 1.5    
Т.е. отбрасывает целую часть, и выдает только 0.5
 
остат()
Живи и дай жить..
 
мне в VBA нужна...
 
Наверное, MOD
 
Судя по всему нет такой функции Mod, по крайней мере следующий код вместо того что бы выдать 0,2, подчеркивает строку красным.  
 
Sub test()  
i = 1.2  
MsgBox Mod(i)  
End Sub
 
В ячейке А1 значение 1.2  
Sub Остаток()  
Range("A2").Formula = "=Mod(A1,1)"  
MsgBox [A2]
End Sub
 
В VBA Mod не функция, а оператор.  
 
Used to divide two numbers and return only the remainder.  
 
Syntax  
 
result = number1 Mod number2  
 
X = 1.2 Mod 1 'вернет в X 0.2
 
учу пользоваться клавишами, дорого.  
 
урок первый: F1(см вложение)
Живи и дай жить..
 
урок 2: поиск mod
Живи и дай жить..
 
вы мне должны..  :)  просто по гроб жизни обязаны
Живи и дай жить..
 
{quote}{login=}{date=23.11.2008 08:48}{thema=}{post}В VBA Mod не функция, а оператор.  
 
Used to divide two numbers and return only the remainder.  
 
Syntax  
 
result = number1 Mod number2  
 
X = 1.2 Mod 1 'вернет в X 0.2{/post}{/quote}  
Вопреки утверждению X = 1.2 Mod 1 возвращает НОЛЬ.
 
Вот так можно:  
Sub rrr()  
Dim k  
i = 1.2  
k = i - Val(i)  
MsgBox k  
End Sub
 
{quote}{login=Leanna1}{date=22.11.2008 11:01}{thema=Функция возвращающая остаток числа.}{post}Мне нужна функция возвращающая остаток (Ищу кратные значения и произвожу с ними действия). Есть такая?{/post}{/quote}  
 
=Если для некоторого целого числа a и целого числа b<>0 существует такое целое число q, что b*q = a, то говорят, что число a делится нацело на b. При этом число b называется делителем числа a, число a называется кратным числа b
 
{quote}{login=}{date=23.11.2008 10:12}{thema=Re: }{post}{quote}{login=}{date=23.11.2008 08:48}{thema=}{post}В VBA Mod не функция, а оператор.  
 
Used to divide two numbers and return only the remainder.  
 
Syntax  
 
result = number1 Mod number2  
 
X = 1.2 Mod 1 'вернет в X 0.2{/post}{/quote}  
Вопреки утверждению X = 1.2 Mod 1 возвращает НОЛЬ.{/post}{/quote}  
 
Mod - это остаток (целый).  
 
Чтобы вернуть дробную часть:  
 
x = x - int(x)
 
{quote}{login=}{date=23.11.2008 10:12}{thema=Re: }{post}{quote}{login=}{date=23.11.2008 08:48}{thema=}{post}В VBA Mod не функция, а оператор.  
 
Used to divide two numbers and return only the remainder.  
 
Syntax  
 
result = number1 Mod number2  
 
X = 1.2 Mod 1 'вернет в X 0.2{/post}{/quote}  
Вопреки утверждению X = 1.2 Mod 1 возвращает НОЛЬ.{/post}{/quote}  
 
 
все верно, ибо любое число делится на единицу без остатка :)  
зато попробуйте 12 mod 10
Живи и дай жить..
 
Да, автор и говорит, что приведённое утверждение:  
X = 1.2 Mod 1 'вернет в X 0.2  
неверно.
 
{quote}{login=}{date=23.11.2008 12:29}{thema=Re: Re: }{post}  
 
Чтобы вернуть дробную часть:  
 
x = x - int(x){/post}{/quote}  
Позволю себе не согласится с автором. Функция int(x) возвращает целую часть числа Х меньшую самого числа, поэтому при отрицательном Х будет возвращено дополнение остатка до +1.  
Для получения остатка корректно работает x = x - Fix(x).  
С уважением, Александр.
 
{quote}{login=Sh_Alex}{date=24.11.2008 02:08}{thema=Re:}{post}Для получения остатка корректно работает x = x - Fix(x).  
С уважением, Александр.{/post}{/quote}  
 
Да, да.. у меня вся голова в пепле. :-)
Страницы: 1
Наверх