On a Malaysian cheque, RM 1,250.75 must also appear as “Seribu dua ratus lima puluh ringgit dan tujuh puluh lima sen sahaja” — and if the words and the figures disagree, banks treat the words as controlling or return the cheque altogether. Getting the Bahasa Melayu spelling right is therefore not a style question but a payment-clearing one. This tool produces the correct phrasing for any amount, applying the se- prefix rules, the thousand-based scale words, and the customary sahaja closing.
The conversion, step by step
The amount is first converted to whole sen so binary floating-point error can never invent a phantom hundredth:
total_sen = round(amount × 100)
ringgit = floor(total_sen ÷ 100)
sen = total_sen mod 100
Each part is then spelled three digits at a time. Hundreds use ratus, teens use belas (11 = sebelas), tens use puluh, and the scale words ribu, juta, bilion, trilion mark each thousands group. The ringgit phrase and sen phrase are joined with dan (and), and sahaja (only) closes the whole expression.
The se- prefix: the rule everyone gets wrong
Malay contracts satu (“one”) to the prefix se- when it directly precedes a scale word. This is the single most common error in manually written amounts:
| Amount | Correct | Common mistake |
|---|---|---|
| RM 100 | seratus ringgit | satu ratus ringgit |
| RM 1,000 | seribu ringgit | satu ribu ringgit |
| RM 1,000,000 | sejuta ringgit | satu juta ringgit |
| RM 11 | sebelas ringgit | satu belas ringgit |
| RM 200 | dua ratus ringgit | (regular form — no prefix) |
| RM 2,000 | dua ribu ringgit | (regular form — no prefix) |
The prefix applies only when the multiplier is exactly one: seratus, seribu, sejuta, sebelas. For bilion usage varies and the plain satu bilion is standard in financial writing. Authoritative spellings for all number words are in Dewan Bahasa dan Pustaka’s Pusat Rujukan Persuratan Melayu, the national language reference.
Worked examples
- RM 1,250.75 → Seribu dua ratus lima puluh ringgit dan tujuh puluh lima sen sahaja
- RM 500.00 → Lima ratus ringgit sahaja (no sen clause when sen = 0)
- RM 500.05 → Lima ratus ringgit dan lima sen sahaja
- RM 2,000,321.20 → Dua juta tiga ratus dua puluh satu ringgit dan dua puluh sen sahaja — note dua puluh sen, never “dua puluh kosong sen”
- RM 0.50 → Lima puluh sen sahaja — a sen-only amount drops the ringgit clause entirely
Where the written form is required
- Cheques (cek). Malaysian cheque-clearing practice requires the amount in words to match the figures; discrepancies are grounds for return. The industry-standard cheque layout and completion guidance are published by Bank Negara Malaysia and the clearing house it oversees. Sahaja exists precisely to seal the amount against later additions.
- Sale and purchase agreements, loan deeds, tenancy agreements. Malaysian legal drafting states consideration in words with the figure in parentheses — “Ringgit Malaysia: Seribu sahaja (RM1,000)” is the conventional pattern.
- Government procurement and official receipts. Federal and state forms routinely require the amount dalam perkataan in Rumi script.
- Company documents. Board resolutions and statutory declarations involving payments commonly spell the amount for the same tamper-evidence reason.
Formatting conventions worth knowing
The phrase conventionally starts with a capital letter and contains no hyphens — dua puluh satu, never “dua puluh-satu”. The currency word is ringgit (invariant — Malay does not pluralise it), and the subunit is sen, 1/100 of a ringgit. On cheques the amount line typically begins “Ringgit Malaysia:” pre-printed, so the tool’s output slots directly after it. When a line has trailing space, Malaysian practice is to rule a line through the gap — again, to prevent insertion.
Edge cases the tool handles
Rounding: amounts are rounded half-up to the nearest sen before spelling, so an input like 10.005 becomes RM 10.01, matching how invoices round. Zero: RM 0.00 produces kosong ringgit sahaja — though no real cheque should carry it. Large numbers: the thousand-grouping continues through trilion, far beyond any realistic payment. Mixed input: commas, spaces, and a leading “RM” are stripped, so pasting “RM 1,250.75” straight from an invoice works.
For the closely related Indonesian system — same scale words, different currency terms and some different spellings — see the Indonesian Currency in Words tool.
Sources
- Dewan Bahasa dan Pustaka — Pusat Rujukan Persuratan Melayu (number-word spellings)
- Bank Negara Malaysia — payment and cheque standards
Everything runs locally in your browser — amounts you type are never uploaded, logged, or stored.