{
  "category": "Financial functions",
  "display_name": "DOLLARFR",
  "entry_kind": "built_in_function",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.DOLLARFR",
  "implementation_state": {
    "answer_bank": {
      "excel_builds": [
        "20430"
      ],
      "larger_numeric": 0,
      "last_bit": 0,
      "matched": 3641,
      "other_mismatch": 0,
      "refused": 0,
      "rows": 3641,
      "unread": 0,
      "worst_ulp": 0
    },
    "detail": "Recorded: 3,641 in the answer bank and 4 workbook cells.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "matches",
    "state_label": "Matches every recorded Excel answer",
    "summary": "Matches all 3,645 recorded answers",
    "workbook_corpus": {
      "cells": 4,
      "matched": 4
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/financial.rs#L328-L333",
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/ported/dollar_fraction_family.rs#L56-L62"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/financial::dollar_num",
        "ported/dollar_fraction_family::normalized_fraction_denominator",
        "ported/dollar_fraction_family::decimal_scale"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/financial.rs#L328-L333",
      "state": "matches",
      "suite": null,
      "summary": "Matches all 3,645 recorded answers"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.DOLLARFR.json",
  "name": "DOLLARFR",
  "notes": [],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n[DOLLARDE](FUNC.DOLLARDE.md) converts the quote back to an ordinary amount; [TEXT](FUNC.TEXT.md) can display a conventional written fraction when no numeric quote encoding is needed.\n\n\n",
    "how-to-implement": "\nSplit the admitted decimal amount into its toward-zero integer part and signed fractional part. For denominator f choose the kernel’s decimal scale `10^ceil(log10(f))`; multiply the fractional part by f, divide by that scale and add the integer part. For f=32 the scale is 100, so `12+(0.375*32)/100=12.12`. The current helper constructs the scale by multiplying by ten until it is at least the denominator, rather than taking a floating-point logarithm; use its retained code for those boundaries rather than assuming all algebraic orderings agree.\n\n\n",
    "quirks": "\nThe denominator is truncated. A negative denominator gives `#NUM!`; a denominator that truncates to zero gives `#DIV/0!`. The output is a number, not text containing a slash. Numerator digit width depends on the denominator’s decimal scale, and negative amounts need a consistent toward-zero integer part.\n\n\nA power-of-ten denominator uses that power itself as the decimal scale, rather than one more digit position. The current helper therefore has an identity transform at denominators one and ten. It does not round the encoded numerator to an integer; arbitrary decimal inputs can encode fractional numerators.\n\n\n",
    "sources": "\n- [Microsoft: DOLLARFR function](https://support.microsoft.com/en-us/excel/functions/dollarfr-function), opened 6 November 2026; syntax, documented argument rules and errors.\n- [DnaCalc implementation](https://github.com/DnaCalc/DnaCalc/blob/da3ecc4fb19a3a5529708c311d0e8f05688ac165/crates/calc-func/src/ported/dollar_fraction_family.rs); implementation steps and the limits identified in the text.\n\n",
    "try-it": "\n`=DOLLARFR(12.375,32)` returns about `12.12`. The fraction 0.375 is twelve thirty-seconds, so the quote is twelve and 12/32. Reading `12.12` as an ordinary decimal amount would give a different value.\n\n\n",
    "version-differences": "The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.\n\n| Excel 16.0 build | Platform and CPU | Captured inputs |\n|---|---|---:|\n| 20430 | Windows, 64-bit, AMD Ryzen 7 4800H with Radeon Graphics | 2,406 |\n| 20430 | Windows, 64-bit, CPU not recorded | 1,235 |\n\nThe record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.\n\n[Recorded environments and comparison details](https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.DOLLARFR.json).",
    "what-it-does": "\n`DOLLARFR(decimal_dollar,fraction)` converts an ordinary decimal amount to Excel’s fractional-quote numeric encoding. The digits after the decimal point encode a numerator over the supplied denominator; they are not an ordinary decimal fraction of the amount.\n\n\n"
  },
  "signature": {
    "display": "DOLLARFR(decimal_dollar, fraction)",
    "parameters": [
      {
        "description": null,
        "name": "decimal_dollar",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "fraction",
        "optional": false,
        "repeats": false
      }
    ],
    "trailing_repeats": false
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 2,
        "min": 2
      },
      "category": "Financial functions",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "Custom",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "None",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "Custom",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "RefOnly",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": "A decimal price written as a whole part and a fraction of a given denominator",
        "short_source": "dna-calc-own"
      },
      "docs": {
        "english_description": "Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction",
        "microsoft_url": "https://support.microsoft.com/en-us/office/dollarfr-function-0835d163-3023-4a33-9824-3042c5d4f495"
      },
      "entry_kind": "built_in_function",
      "localized_family_names": null,
      "localized_names": [
        {
          "locale": "ar-SA",
          "name": "DOLLARFR"
        },
        {
          "locale": "bg-BG",
          "name": "DOLLARFR"
        },
        {
          "locale": "cs-CZ",
          "name": "DOLLARFR"
        },
        {
          "locale": "da-DK",
          "name": "KR.BRØK"
        },
        {
          "locale": "de-DE",
          "name": "DOLLARFR"
        },
        {
          "locale": "el-GR",
          "name": "DOLLARFR"
        },
        {
          "locale": "en-AU",
          "name": "DOLLARFR"
        },
        {
          "locale": "en-GB",
          "name": "DOLLARFR"
        },
        {
          "locale": "en-US",
          "name": "DOLLARFR"
        },
        {
          "locale": "es-ES",
          "name": "MONEDA.FRAC"
        },
        {
          "locale": "et-EE",
          "name": "DOLLARFR"
        },
        {
          "locale": "fi-FI",
          "name": "VALUUTTA.MURTO"
        },
        {
          "locale": "fr-FR",
          "name": "PRIX.FRAC*"
        },
        {
          "locale": "he-IL",
          "name": "DOLLARFR"
        },
        {
          "locale": "hr-HR",
          "name": "DOLLARFR"
        },
        {
          "locale": "hu-HU",
          "name": "FORINT.TÖRT"
        },
        {
          "locale": "id-ID",
          "name": "DOLLARFR"
        },
        {
          "locale": "it-IT",
          "name": "DOLLARFR"
        },
        {
          "locale": "ja-JP",
          "name": "DOLLARFR"
        },
        {
          "locale": "ko-KR",
          "name": "DOLLARFR"
        },
        {
          "locale": "lt-LT",
          "name": "DOLLARFR"
        },
        {
          "locale": "lv-LV",
          "name": "DOLLARFR"
        },
        {
          "locale": "nb-NO",
          "name": "DOLLARFR"
        },
        {
          "locale": "nl-NL",
          "name": "DOLLAR.BR"
        },
        {
          "locale": "pl-PL",
          "name": "CENA.UŁAM"
        },
        {
          "locale": "pt-BR",
          "name": "DOLLARFR"
        },
        {
          "locale": "pt-PT",
          "name": "MOEDAFRA"
        },
        {
          "locale": "ro-RO",
          "name": "DOLARFR"
        },
        {
          "locale": "ru-RU",
          "name": "РУБЛЬ.ДРОБЬ"
        },
        {
          "locale": "sk-SK",
          "name": "DOLLARFR"
        },
        {
          "locale": "sl-SI",
          "name": "DOLLARFR"
        },
        {
          "locale": "sr-Latn-RS",
          "name": "DOLLARFR"
        },
        {
          "locale": "sv-SE",
          "name": "BRÅK"
        },
        {
          "locale": "th-TH",
          "name": "DOLLARFR"
        },
        {
          "locale": "tr-TR",
          "name": "LİRAKES işlevi"
        },
        {
          "locale": "uk-UA",
          "name": "DOLLARFR"
        },
        {
          "locale": "vi-VN",
          "name": "DOLLARFR"
        },
        {
          "locale": "zh-CN",
          "name": "DOLLARFR"
        },
        {
          "locale": "zh-HK",
          "name": "DOLLARFR"
        },
        {
          "locale": "zh-TW",
          "name": "DOLLARFR"
        }
      ],
      "signature": {
        "display": "DOLLARFR(decimal_dollar, fraction)",
        "parameters": [
          {
            "description": null,
            "name": "decimal_dollar",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "fraction",
            "optional": false,
            "repeats": false
          }
        ],
        "trailing_repeats": false
      },
      "surface_name": "DOLLARFR",
      "version_marker": null,
      "xlcall": {
        "code": "444",
        "symbol": "xlfDollarfr"
      }
    },
    "microsoft": "https://support.microsoft.com/en-us/office/dollarfr-function-0835d163-3023-4a33-9824-3042c5d4f495"
  },
  "try_it": {
    "formula": "=DOLLARFR(12.375,32)"
  },
  "url": "https://handbook.dnacalc.com/functions/DOLLARFR.html",
  "variants": [],
  "versions": [
    {
      "behaviour": "2,406 captured inputs are indexed for this environment. Capture dates: 2026-09-25 to 2026-09-25. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 20430",
      "platform": "Windows, 64-bit, AMD Ryzen 7 4800H with Radeon Graphics",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.DOLLARFR.json"
      ]
    },
    {
      "behaviour": "1,235 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 20430",
      "platform": "Windows, 64-bit, CPU not recorded",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.DOLLARFR.json"
      ]
    }
  ]
}