dollar_fraction
Converts a decimal price to a fractional price.
Synopsis
#include <imsl.h>
float imsl_f_dollar_fraction (float decimal_dollar, int fraction)
The type double function is imsl_d_dollar_fraction.
Required Arguments
float decimal_dollar (Input)
Dollar price expressed as a decimal number.
int fraction (Input)
Denominator of the fractional dollar. fraction must be positive.
Return Value
The dollar price expressed as a fraction. The numerator is the decimal part of the return value. If no result can be computed, NaN is returned.
Description
Function imsl_f_dollar_fraction converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fractional price. If no result can be computed, NaN is returned.
It can be found by solving the following
where idollar is the integer part of the decimal_dollar, and ifrac is the integer part of log(fraction).
Example
In this example, imsl_f_dollar_fraction converts $1.25 to $1 1/4.
#include <stdio.h>
#include <imsl.h>
int main()
{
int numerator, fraction = 4;
float dollarfrc, decimal_dollar = 1.25;
dollarfrc = imsl_f_dollar_fraction(decimal_dollar,
fraction);
numerator = dollarfrc*10.-((int)dollarfrc)*10;
printf ("The decimal dollar $1.25 as a "
"fractional dollar = $%i %i/%i.\n",
(int)dollarfrc, numerator, fraction);
}
Output
The decimal dollar $1.25 as a fractional dollar = $1 1/4.