BOOL2STRING in Calligra Sheets: Syntax, Examples and Source-Level Pitfalls
Convert Boolean results into locale-aware text, including English examples and export pitfalls.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Calligra Sheets. How formula examples are checked
Quick answer
Use =BOOL2STRING(TRUE) to turn a Boolean into text instead of a logical value. In KDE’s English examples its documented output is "True", and =BOOL2STRING(FALSE) is "False". Importantly, pinned Calligra source calls a locale-aware Boolean formatter, so the exact string and language must not be treated as universal. These outputs are documented expectations, not native-observed results. [E1, E2, E3]
Why use a Boolean text conversion?
Consider a spreadsheet where column B stores real Boolean approval checks but column C is exported to a text-oriented system. A string can be concatenated with a status label or explicitly sent where plain text is required. A Boolean-typed value is not identical to the quoted characters True or False; other spreadsheet formulas can treat them differently.
Exact syntax, arguments and defaults
=BOOL2STRING(value)
The required value parameter is of Boolean type according to the official KDE XML. The function returns String/Text; there is one required argument, no optional argument and no documented default. The registered callback func_ToString passes args[0] to calc->conv()->asString(). For Boolean input, pinned converter C++ uses locale->formatBool(value.asBoolean()). This shows why English spelling/capitalization should not be promised in every locale or installation. [E1, E2, E3]
The function does not take Excel’s optional number-format string. Do not confuse BOOL2STRING with a number-formatting TEXT function.
Reproducible worksheet: approval status as text
Set up these cells in a worksheet. Expected columns below describe the English-language example; native output and localized spellings were not tested. [E1, E3, E4]
| Cell | Enter | Independently expected Boolean or English-documentation text |
|---|---|---|
| A2 | 20 |
20 |
| A3 | 5 |
5 |
| A4 | 11 |
11 |
| B2 | =A2>=10 |
TRUE |
| B3 | =A3>=10 |
FALSE |
| B4 | =A4>=10 |
TRUE |
| C2 | =BOOL2STRING(B2) |
"True" (English help) |
| C3 | =BOOL2STRING(B3) |
"False" (English help) |
| C4 | =BOOL2STRING(B4) |
"True" (English help) |
The B-column logical comparison is independently evaluated. The C-column Boolean-to-text mapping is supported by the converter, while the exact quoted strings are the English help’s documented representation; a non-English locale may return other strings. [E1, E3, E4]
Advanced case 1: add a readable label
Using the worksheet above, put ="Approved: "&BOOL2STRING(B2) in D2 and copy it to D3. In an English-formatting configuration, its documented-style expected text is "Approved: True". Similarly D3 is expected "Approved: False". If user-visible wording must be consistent across locales, prefer a deliberate branch such as =IF(B2;"Approved";"Rejected") rather than appending a localized Boolean string. [E1, E3, E4]
Advanced case 2: export text and preserve original logic
Keep the Boolean test in column B for calculations, and generate display strings in C. With values above, =BOOL2INT(B2) independently expects 1, while =BOOL2STRING(B2) returns text according to the official contract. Do not feed the latter into numeric totals just because it represents the same underlying condition. [E1, E3, E4]
In an English example configuration, =UPPER(BOOL2STRING(TRUE)) would be expected to produce "TRUE". The exact text is still locale-dependent, and the result is a string rather than a Boolean literal. [E1, E3, E4]
Troubleshooting, limitations and errors
- Unexpected language or capitalization: The official help shows English
"True"/"False"; implementation callslocale->formatBool. The locale can change string content; do not hard-code comparisons to English"True"for multilingual workflows. [E1, E3] - A number is not a Boolean: The XML defines the parameter as Boolean. The shared callback supports converting multiple types at the C++ converter layer, but evaluator coercion and displayed errors for passing plain numbers or strings were not natively checked. To convert a numeric threshold, write
=BOOL2STRING(A2>=10)instead of assuming direct numeric coercion. [E1, E2, E3] - Text is not a logical TRUE/FALSE: After conversion,
"True"is text; formulas expecting real Booleans may require explicit comparisons or retaining the original Boolean column. [E1] - No format argument:
=BOOL2STRING(B2;"Yes"/"No")is outside the documented one-argument syntax. For custom labels, useIFwith two explicit strings. [E1] - Blanks and errors: Detailed runtime propagation, error labels, and locale fallback for blanks/errors are not established by this documentation and source review. Test on your installed build before importing production data.
Cross-software compatibility
Do not assume another spreadsheet accepts BOOL2STRING by name. The intended display can be written using a conditional choice: =IF(A2;"True";"False") for Boolean A2. Unlike Calligra’s locale formatter, that formula deliberately selects English literal strings; it is therefore useful when an export format requires those exact bytes. Adjust separators/Boolean literals for the target application’s locale; cross-app runtime behavior has not been tested. [E3, E4]
Frequently asked questions
Will BOOL2STRING produce the same string in every language? No guarantee. Calligra’s pinned conversion code invokes a locale-specific formatter for Boolean values. [E3]
Why not use BOOL2INT? That function returns numeric 1/0 rather than string text. The two conversions solve different integration problems. [E1, E3]
Can I change the resulting words to Yes/No? Use =IF(B2;"Yes";"No") where B2 is Boolean; BOOL2STRING has no documented custom-label parameter. [E1, E4]
Version, scope and validation
This tutorial concerns Calligra Sheets source release 26.08.2, published 8 October 2026; research accessed 2026-10-12 (UTC). The source revision is 72123cc643f6625351139e7df294544255a1056f. The registration exists in the pinned conversion module, but that alone does not establish functionality in every operating-system package, language configuration or older edition. [E2, E5]
Validation terminology: DOC means official handbook/XML checked; SOURCE means pinned C++ read; CALC means simple independent Boolean/numeric logic checked; NATIVE means observed in a running Calligra Sheets installation. Status here: DOC yes; SOURCE yes; CALC yes; NATIVE no. All formula results are expected, not native-observed.
KDE’s English examples use TRUE/FALSE and semicolons to separate arguments (for formulas requiring more than one). Boolean display text, decimal entry and argument separators can vary with locale. A single-argument formula itself requires no separator. For cross-application migration, do not assume the same-named function or its edge-case handling is available elsewhere.
Related functions and link checks
Useful neighboring functions are BOOL2INT, INT2BOOL, BOOL2STRING, IF, AND, OR and NOT. Their names are present in KDE’s registered function catalogue. See the official BOOL2INT, BOOL2STRING, INT2BOOL and IF entries. Links point to the official KDE references. [E1]
Official sources and claim-level evidence
- [E1 — DOC] KDE function handbook, entries for BOOL2INT, BOOL2STRING and INT2BOOL, and release-pinned conversion.xml; provides declared argument types, one-argument syntax, documented sample outputs and INT2BOOL prose; checked 2026-10-12.
- [E2 — SOURCE] Pinned Calligra conversion module and callback implementations; establishes each function’s registered name and selected conversion operation; checked 2026-10-12.
- [E3 — SOURCE] Pinned ValueConverter implementation and locale Boolean-to-string conversion; establishes direct typed Boolean, integer and locale string conversions; checked 2026-10-12.
- [E4 — CALC] Deterministic truth-table/arithmetic calculations independently checked 2026-10-12 (ordinary comparisons, 1/0 mapping and counts); not observed in Calligra.
- [E5 — RELEASE] KDE Gear 26.08.2 announcement, dated 8 October 2026; checked 2026-10-12.