<-- Previous || Up || Next -->

Rational To Fraction Function
Math Arithmetic Class

Public Function RationalToFraction( _
      ByRef rNumber As Variant _
    , ByRef rDividend As Variant _
    , ByRef rDivisor As Variant _
    , ByVal vRational As Variant _
    ) As Boolean

"Rational Number To Fractional Components"
Converts vRational to X+Y/Z (where X, Y, and X are all integers) then returns X, Y, and Z via arguments.
Function returns True upon success and False upon failure.

Example:
    Assuming
       Dim varI As Variant
       Dim varX As Variant
       Dim varY As Variant
    for example
       RationalToFraction(varI, varX, varY, -43.75) = True
    leaves
       varI = -43
       varX = -3
       varY = 4
See also:
    RationalToFractionString Function
    FloatToFraction Function
    GreatestCommonDivisor Function
rNumber: Numeric or Variant argument through which the integer part of vRational is returned.
rDividend: Numeric or Variant argument through which the dividend of the fractional part of vRational is returned. Note: When vRational is an integer, this function returns a dividend of 0 (zero). Note: When vRational is negative, the dividend returned by this function will be negative.
rDivisor: Numeric or Variant argument through which the divisor of the fractional part of vRational is returned. Note: When vRational is an integer, this function returns a divisor of 1 (one). Note: This function will always return a positive divisor, even if vRational is negative.
vRational: The number which is separated into its integer, fractional dividend, and fractional divisor parts. Function returns Null if vRational is Null or cannot be fixed up to a number.

Note: One use of this function is to back-track from rational stock prices like 9.375 into a number like 9+3/8.

Note: Accuracy is between 12 and 14 digits.

Copyright 1996-1999 Entisoft
Entisoft Tools is a trademark of Entisoft.