Article: Q138042
Product(s): Microsoft FoxPro
Version(s): WINDOWS:2.6a,3.0
Operating System(s):
Keyword(s):
Last Modified: 03-AUG-2000
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft FoxPro for Windows, version 2.6a
- Microsoft Visual FoxPro for Windows, version 3.0
-------------------------------------------------------------------------------
SYMPTOMS
========
When using the MOD() function with one negative number and the expected result
is the numerator, FoxPro returns the wrong value. For example, MOD(9,-10)
returns -1. The correct result should be 9.
CAUSE
=====
This occurs because the MOD() function was designed to maintain compatibility
with the dBASE MOD() function, which also returns this result.
NOTE: dBASE is manufactured by Borland International Inc., a vendor independent
of Microsoft; we make no warranty, implied or otherwise, regarding this
product's performance or reliability.
RESOLUTION
==========
Create a function similar to the following and use this function instead of
MOD().
FUNCTION INTMOD
PARAMETER x,y && where x is the numerator, y is the denominator
z = x - INT(x/y)*y
RETURN z && where z is the expected result
STATUS
======
This behavior is by design.
Additional query words: VFoxWin FoxWin akz
======================================================================
Keywords :
Technology : kbVFPsearch kbAudDeveloper kbFoxproSearch kbFoxPro260a kbVFP300
Version : WINDOWS:2.6a,3.0
=============================================================================