DOLLAR Function (Calligra Sheets)
Format amounts as text with DOLLAR in Calligra Sheets. See locale-dependent output, optional precision and the tested negative-half rounding difference.
Verification status: 19 selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library in the C locale. Exact typed outputs and source-derived checks are documented; 26.08.2 was source-checked only. No GUI-cell or import claim. How formula examples are checked
Rounding and locale caution: The tested engine rounds −12.5 at precision zero to the text "-12". Its system locale was C, whose currency symbol is empty; the examples therefore do not show a dollar sign.
Quick answer: =DOLLAR(1234.567) returns "1,234.57" in the tested engine.
Availability and version history
- Introduced: First release not established; the name is present in Calligra 2.4.0 source.
- Supported in: Calligra Sheets 26.08.2, with the limitations described here; no retirement established.
- Scope: Desktop Sheets with the Text module. Formulas use English names and semicolon separators.
- Checked: October 14, 2026: selected 25.04.2 engine-library formulas and independent reconstructions; 26.08.2 source only. The test locale was C. No GUI-cell, import or other-locale execution is claimed.
What DOLLAR returns
DOLLAR converts a number into currency-formatted text using the calculation locale. Its name does not force US dollars or perform currency conversion. The implementation first rounds the number, then asks the locale to format it with its currency symbol and requested precision. Official function reference.
Syntax and arguments
=DOLLAR(number[;precision])
number is the value to format. precision defaults to 2. Positive precision controls fractional digits; zero rounds to whole units; negative precision first rounds to tens, hundreds and so on. The integer conversion of a fractional precision is visible in the boundary examples. Brackets mark optional arguments and are not typed. Registration and implementation.
Reproducible engine examples
Quotation marks identify text results; error tokens without quotes are actual errors. Numeric results are rounded here to twelve decimal places. The reconstruction column applies independent decimal arithmetic or the inspected character/parser rules, rather than claiming another application test.
| Formula | Engine result | Independently reconstructed expectation |
|---|---|---|
=DOLLAR(1234.567) |
"1,234.57" |
"1,234.57" |
=DOLLAR(1234.567;0) |
"1,235" |
"1,235" |
=DOLLAR(1234.567;2) |
"1,234.57" |
"1,234.57" |
=DOLLAR(1234.567;-1) |
"1,230.00" |
"1,230.00" |
=DOLLAR(-1234.567;2) |
"-1,234.57" |
"-1,234.57" |
=DOLLAR(12.5;0) |
"13" |
"13" |
=DOLLAR(-12.5;0) |
"-12" |
"-12" |
=DOLLAR(0;2) |
"0.00" |
"0.00" |
Practical worksheet
Enter 1234.567 in A2 and use =DOLLAR(A2;2) in B2. In the tested C locale the result is the string 1,234.57. Retain A2 for sums, comparisons and subsequent calculations; B2 is a presentation value. If a report requires a particular currency symbol, first confirm the workbook/application locale rather than assuming the function name supplies $. These tests did not change or verify a GUI workbook locale.
Advanced interpretation and checks
The pre-rounding expression is floor(number*10^precision+0.5)/10^precision. At precision zero, 12.5 becomes 13 but −12.5 becomes −12. Both are ties toward positive infinity, not a sign-symmetric away-from-zero rule. The executed equality check below demonstrates that −12.5 and −12 produce the same text at precision zero.
Negative precision has two stages. In the tested locale, =DOLLAR(1234.567;-1) first rounds to 1230, then the locale formatter produces 1,230.00. The two trailing zeros are formatting behavior, not evidence that the amount was rounded to cents first. FIXED has a different negative-precision presentation and a different nonnegative-precision rounding path.
=DOLLAR(-12.5;0)=DOLLAR(-12;0)
The executed result was TRUE.
Boundaries and troubleshooting
The outputs below are strings, with quotation marks added here to make that type visible. A displayed number-like string is not an unchanged numeric amount. Decimal separators, group separators, symbols and signs may vary with locale; only the retained C-locale engine cases were executed.
The tested nonnumeric number became 0.00, while nonnumeric precision became zero and formatted 123 as 123. Validate both inputs before relying on the result. Missing or excess arguments produced #VALUE!. The implementation explicitly converts to binary64, so this is not an arbitrary-precision currency calculator.
| Formula | Engine result |
|---|---|
=DOLLAR(-1.25;1) |
"-1.2" |
=DOLLAR(1.25;1) |
"1.3" |
=DOLLAR(-15;-1) |
"-10.00" |
=DOLLAR(15;-1) |
"20.00" |
=DOLLAR(12.5;1.9) |
"12.5" |
=DOLLAR("1234.567";2) |
"1,234.57" |
=DOLLAR("abc";2) |
"0.00" |
=DOLLAR(123;"abc") |
"123" |
=DOLLAR() |
#VALUE! |
=DOLLAR(1;2;0) |
#VALUE! |
Official evidence and precision scope
- Function-specific implementation
- Versioned help
- Locale Default
- Locale Constructor
- Currency Format
- Currency Symbol
- Float Conversion
The complete selected callback is byte-identical in the inspected 25.04.2 and 26.08.2 sources. The text module has an unrelated SEARCH change; whole-file equality is not claimed. The locale helpers are byte-identical. These comparisons do not establish execution of the later release.