ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   MOD function results (https://www.excelbanter.com/excel-programming/413249-mod-function-results.html)

djd

MOD function results
 
I just need to understand why this is happening.

I have a field where I need to verify that the user entered a value in
increments of 0.5. So I use the formula MOD(field1,0.5). When field1 is
1.5 the result is 0. I have another field where I need to verify that the
user entered a value in increments of 0.2. So my formula is MOD(field2,0.2).
When field2 is 1.2 the result is 0 when the cell is a number but when
defined as general is -1.1102E-16.

I am checking the cells containing the MOD formula in VBA and noticed that
my code for <0 wasn't working even though the cell showed 0. When I used
Watch I saw the exponential.

Mike H

MOD function results
 
Hi,

I'm not sure what you want because you posted this in programming and used
the worksheet syntax for MOD so this is a worksheet answer

format the cell as number to get rid of the -1.1102E-16.

the vba syntax is
x MOD y

Mike

"djd" wrote:

I just need to understand why this is happening.

I have a field where I need to verify that the user entered a value in
increments of 0.5. So I use the formula MOD(field1,0.5). When field1 is
1.5 the result is 0. I have another field where I need to verify that the
user entered a value in increments of 0.2. So my formula is MOD(field2,0.2).
When field2 is 1.2 the result is 0 when the cell is a number but when
defined as general is -1.1102E-16.

I am checking the cells containing the MOD formula in VBA and noticed that
my code for <0 wasn't working even though the cell showed 0. When I used
Watch I saw the exponential.


Rick Rothstein \(MVP - VB\)[_2191_]

MOD function results
 
The OP must have been talking about the worksheet version of MOD since the
VBA version cannot use non-integer arguments (it will Banker Round any
non-integer arguments before applying the Mod operator). For example...

10.5 Mod 3.5 == 2

because 10.5 Banker Rounds to 10 and 3.5 Banker Rounds to 4 so that the
operation becomes...

10 Mod 4

which is 2 whereas on the worksheet, MOD(10.5,3.5) is 0.

Rick


"Mike H" wrote in message
...
Hi,

I'm not sure what you want because you posted this in programming and used
the worksheet syntax for MOD so this is a worksheet answer

format the cell as number to get rid of the -1.1102E-16.

the vba syntax is
x MOD y

Mike

"djd" wrote:

I just need to understand why this is happening.

I have a field where I need to verify that the user entered a value in
increments of 0.5. So I use the formula MOD(field1,0.5). When field1
is
1.5 the result is 0. I have another field where I need to verify that
the
user entered a value in increments of 0.2. So my formula is
MOD(field2,0.2).
When field2 is 1.2 the result is 0 when the cell is a number but when
defined as general is -1.1102E-16.

I am checking the cells containing the MOD formula in VBA and noticed
that
my code for <0 wasn't working even though the cell showed 0. When I
used
Watch I saw the exponential.




All times are GMT +1. The time now is 06:07 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com