DOLLARFR function
PRO
BASIC
The DOLLARFR
function in Jspreadsheet Formulas Pro converts a decimal dollar value into a fractional dollar format using a specified denominator. This is commonly used in finance, especially in bond pricing and other scenarios where fractional values like 1/8, 1/16, or 1/32 are standard. For example, 1.125 with a denominator of 16 becomes 1.02 (1 and 2/16). This function is particularly useful in financial calculations where precise decimal dollar values are required. Simply enter the fraction and the denominator into the DOLLARFR
function to get your desired decimal value.
Documentation
Converts a fraction to a decimal dollar value using the specified denominator.
Category
Financial
Syntax
DOLLARFR(decimal_dollar, fraction)
Parameter | Description |
---|---|
decimal_dollar |
A decimal number |
fraction |
The integer to use in the denominator of a fraction. |
Behavior
The DOLLARFR
function converts a decimal number to a a decimal value using a base-10 integer and a fractional component in a specified base. It is typically used in finance to convert interest rates from the decimal format to the fractional format. The function takes two arguments: a decimal number and the number of digits in the fractional denomination.
- If an empty cell is referenced, the function will treat it as zero.
- The function does not handle text and would return a
#VALUE!
error. - For boolean values,
TRUE
is interpreted as 1 andFALSE
is interpreted as 0. - If the function encounters an error, such as a division by zero, it will return an error like
#DIV/0!
. - If the number of fractional digits is non-numeric,
DOLLARFR
returns#VALUE!
. - If the number of fractional digits is less than zero,
DOLLARFR
returns#NUM!
.
Common Errors
Error | Description |
---|---|
#VALUE! | If either of the supplied arguments are non-numeric or if the function encounters text, this error is returned. |
#NUM! | If the 'fraction' argument is less than zero, the function will return this error. |
#DIV/0! | This error is displayed when a division by zero is attempted. |
Best practices
- Always ensure that the arguments supplied to the function are numeric. Non-numeric values will result in errors.
- Be aware that the function does not handle boolean values as you might expect.
TRUE
is interpreted as 1 andFALSE
as 0.- Use error handling functions like
IFERROR
to handle potential errors and keep your spreadsheet clean and easy to read.- Always check that the 'fraction' argument is greater than zero to avoid
#NUM!
errors.
Usage
A few examples using the DOLLARFR function.
DOLLARFR(1.125, 16) ➝ 1.02
// 0.125 × 16 = 2 → fractional representation is 2/16
DOLLARFR(1.125, 32) ➝ 1.04
// 0.125 × 32 = 4 → result is 1 and 4/32
Interactive Spreadsheet Demo
<html>
<script src="https://jspreadsheet.com/v11/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://jspreadsheet.com/v11/jspreadsheet.css" type="text/css" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons" />
<script src="https://cdn.jsdelivr.net/npm/@jspreadsheet/formula-pro/dist/index.min.js"></script>
<div id="spreadsheet"></div>
<script>
// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('N2ZlZTkyNTFjNDc1MzE4NDNkZWU4NmU3MWJlZTZhY2I3NjNkNTA3MmZjMDUyNzVlMzY5ODAwNDNkYjdmNjdlZjViOWMzOWRiMzg2MDFiYjA4OTUxMWUwMDNlMGMyM2U1M2RjMDczNDY3ZGM1MTlhN2VjNTJmNmU3Mzk2NDFkMDIsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNek15TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
// Create a new spreadsheet
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
[
"Decimal Price",
"Denominator",
"Fractional Price"
],
[
1.125,
16,
"=DOLLARFR(A2,B2)"
],
[
1.25,
32,
"=DOLLARFR(A3,B3)"
],
[
2.375,
8,
"=DOLLARFR(A4,B4)"
],
[
3.0625,
16,
"=DOLLARFR(A5,B5)"
]
]
}]
});
</script>
</html>
import React, { useRef } from "react";
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/react";
import formula from "@jspreadsheet/formula-pro";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";
// Set license
jspreadsheet.setLicense('N2ZlZTkyNTFjNDc1MzE4NDNkZWU4NmU3MWJlZTZhY2I3NjNkNTA3MmZjMDUyNzVlMzY5ODAwNDNkYjdmNjdlZjViOWMzOWRiMzg2MDFiYjA4OTUxMWUwMDNlMGMyM2U1M2RjMDczNDY3ZGM1MTlhN2VjNTJmNmU3Mzk2NDFkMDIsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNek15TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default function App() {
// Spreadsheet array of worksheets
const spreadsheet = useRef();
// Worksheet data
const data = [
[
"Decimal Price",
"Denominator",
"Fractional Price"
],
[
1.125,
16,
"=DOLLARFR(A2,B2)"
],
[
1.25,
32,
"=DOLLARFR(A3,B3)"
],
[
2.375,
8,
"=DOLLARFR(A4,B4)"
],
[
3.0625,
16,
"=DOLLARFR(A5,B5)"
]
];
// Render component
return (
<Spreadsheet ref={spreadsheet}>
<Worksheet data={data} />
</Spreadsheet>
);
}
<template>
<Spreadsheet ref="spreadsheet">
<Worksheet :data="data" />
</Spreadsheet>
</template>
<script>
import { Spreadsheet, Worksheet, jspreadsheet } from "@jspreadsheet/vue";
import "jsuites/dist/jsuites.css";
import "jspreadsheet/dist/jspreadsheet.css";
import formula from "@jspreadsheet/formula-pro";
// Set license
jspreadsheet.setLicense('N2ZlZTkyNTFjNDc1MzE4NDNkZWU4NmU3MWJlZTZhY2I3NjNkNTA3MmZjMDUyNzVlMzY5ODAwNDNkYjdmNjdlZjViOWMzOWRiMzg2MDFiYjA4OTUxMWUwMDNlMGMyM2U1M2RjMDczNDY3ZGM1MTlhN2VjNTJmNmU3Mzk2NDFkMDIsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNek15TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
export default {
components: {
Spreadsheet,
Worksheet,
},
data() {
// Worksheet data
const data = [
[
"Decimal Price",
"Denominator",
"Fractional Price"
],
[
1.125,
16,
"=DOLLARFR(A2,B2)"
],
[
1.25,
32,
"=DOLLARFR(A3,B3)"
],
[
2.375,
8,
"=DOLLARFR(A4,B4)"
],
[
3.0625,
16,
"=DOLLARFR(A5,B5)"
]
]
return {
data
};
}
}
</script>
import { Component, ViewChild, ElementRef } from "@angular/core";
import jspreadsheet from "jspreadsheet";
import * as formula from "@jspreadsheet/formula-pro";
// Set your JSS license key (The following key only works for one day)
jspreadsheet.setLicense('N2ZlZTkyNTFjNDc1MzE4NDNkZWU4NmU3MWJlZTZhY2I3NjNkNTA3MmZjMDUyNzVlMzY5ODAwNDNkYjdmNjdlZjViOWMzOWRiMzg2MDFiYjA4OTUxMWUwMDNlMGMyM2U1M2RjMDczNDY3ZGM1MTlhN2VjNTJmNmU3Mzk2NDFkMDIsZXlKamJHbGxiblJKWkNJNklpSXNJbTVoYldVaU9pSktjM0J5WldGa2MyaGxaWFFpTENKa1lYUmxJam94TnpVM01ETXhNek15TENKa2IyMWhhVzRpT2xzaWFuTndjbVZoWkhOb1pXVjBMbU52YlNJc0ltTnZaR1Z6WVc1a1ltOTRMbWx2SWl3aWFuTm9aV3hzTG01bGRDSXNJbU56WWk1aGNIQWlMQ0p6ZEdGamEySnNhWFI2TG1sdklpd2lkMlZpWTI5dWRHRnBibVZ5TG1sdklpd2lkMlZpSWl3aWJHOWpZV3hvYjNOMElsMHNJbkJzWVc0aU9pSXpOQ0lzSW5OamIzQmxJanBiSW5ZM0lpd2lkamdpTENKMk9TSXNJbll4TUNJc0luWXhNU0lzSW1Ob1lYSjBjeUlzSW1admNtMXpJaXdpWm05eWJYVnNZU0lzSW5CaGNuTmxjaUlzSW5KbGJtUmxjaUlzSW1OdmJXMWxiblJ6SWl3aWFXMXdiM0owWlhJaUxDSmlZWElpTENKMllXeHBaR0YwYVc5dWN5SXNJbk5sWVhKamFDSXNJbkJ5YVc1MElpd2ljMmhsWlhSeklpd2lZMnhwWlc1MElpd2ljMlZ5ZG1WeUlpd2ljMmhoY0dWeklpd2labTl5YldGMElsMHNJbVJsYlc4aU9uUnlkV1Y5');
// Set the extensions
jspreadsheet.setExtensions({ formula });
@Component({
standalone: true,
selector: "app-root",
template: `<div #spreadsheet></div>`
})
export class AppComponent {
@ViewChild("spreadsheet") spreadsheet: ElementRef;
// Worksheets
worksheets: jspreadsheet.worksheetInstance[];
// Create a new data grid
ngAfterViewInit() {
// Create spreadsheet
this.worksheets = jspreadsheet(this.spreadsheet.nativeElement, {
worksheets: [{
data: [
[
"Decimal Price",
"Denominator",
"Fractional Price"
],
[
1.125,
16,
"=DOLLARFR(A2,B2)"
],
[
1.25,
32,
"=DOLLARFR(A3,B3)"
],
[
2.375,
8,
"=DOLLARFR(A4,B4)"
],
[
3.0625,
16,
"=DOLLARFR(A5,B5)"
]
]
}]
});
}
}