FORMAT Keyword
The FORMAT keyword formats numbers, dates, and text for display. Use it when you need a quick, readable representation without writing custom code.
Syntax
RESULT = FORMAT(VALUE, PATTERN)
BASIC EXAMPLE
NUMBER = 1234.56
TEXT = "John"
DATE = "2024-03-15 14:30:00"
TALK FORMAT(NUMBER, "n") ' 1234.56
TALK FORMAT(TEXT, "Hello @!") ' Hello John!
TALK FORMAT(DATE, "dd/MM/yyyy") ' 15/03/2024
- VALUE – any number, date string (
YYYY‑MM‑DD HH:MM:SS), or text. - PATTERN – a short format string (see tables below).
Quick Reference
Numeric Patterns
| Pattern | Example | Output |
|---|---|---|
n | FORMAT(1234.5, "n") | 1234.50 |
F | FORMAT(1234.5, "F") | 1234.50 |
f | FORMAT(1234.5, "f") | 1234 |
0% | FORMAT(0.85, "0%") | 85% |
C2[en] | FORMAT(1234.5, "C2[en]") | $1,234.50 |
C2[pt] | FORMAT(1234.5, "C2[pt]") | R$ 1.234,50 |
Date Patterns
| Code | Meaning | Example |
|---|---|---|
yyyy | 4‑digit year | 2024 |
yy | 2‑digit year | 24 |
MM | month (01‑12) | 03 |
M | month (1‑12) | 3 |
dd | day (01‑31) | 05 |
d | day (1‑31) | 5 |
HH | 24‑hour (00‑23) | 14 |
hh | 12‑hour (01‑12) | 02 |
mm | minutes (00‑59) | 05 |
ss | seconds (00‑59) | 09 |
tt | AM/PM | PM |
Example
DATE = "2024-03-15 14:30:25"
TALK FORMAT(DATE, "dd/MM/yyyy HH:mm") ' 15/03/2024 14:30
Text Patterns
| Placeholder | Effect |
|---|---|
@ | Insert original text |
! | Upper‑case |
& | Lower‑case |
Example
NAME = "Maria"
TALK FORMAT(NAME, "Hello, !") ' Hello, MARIA
Practical Tips
- Test each pattern in isolation before combining.
- Locale codes (
en,pt,fr, …) go insideC2[…]for currency. - Dates must follow
YYYY‑MM‑DD HH:MM:SS; otherwise formatting fails. - Combine patterns by nesting calls:
TALK FORMAT(FORMAT(VALUE, "C2[en]"), "!") ' $1,234.50 (uppercase not needed here)
Common Pitfalls
- Using a date pattern on a non‑date string → returns the original string.
- Forgetting locale brackets (
C2[en]) → defaults to system locale. - Mixing placeholders (
@,!,&) in the same pattern – only the last one applies.
Use FORMAT whenever you need a clean, user‑friendly output without extra code. It keeps scripts short and readable.