Skip to content

Omani Rial (OMR): 3 decimal places

Omani Rial (OMR) has 3 decimal places: one OMR is 1,000 minor units, and amounts are stored as integers of those.
ISO 4217 exponent
3
Minor units per unit
1,000
Intl display digits
3
Symbol (en-US)
OMR

OMR in a statement

The same integer in every state a statement can be in. Null is not zero: unknown renders as a dash, never as a zero amount.

ValueStored (minor units)StatementMoney component
Positive12345601,234.5601,234 Omani Rial and 560 minor units
Negative-1234560(1,234.560)negative 1,234 Omani Rial and 560 minor units
Zero00.0000 Omani Rial
Unknown (null)null—not available

Typing OMR

What a person types, and the integer it is stored as at OMR's exponent. Rounded once, at the end.

TypedStored as
1,234.561234560
(1,234.56)-1234560
1.2k1200000
=1200+340*21880000

Split without losing a minor unit

100.000 OMR split three ways. Rounding each third leaves a remainder; largest-remainder allocation hands it out one minor unit at a time, so the parts always sum to the whole.

  • 33.334
  • 33.333
  • 33.333
  • = 100.000

On a check

One thousand two hundred thirty-four OMR and 560/1000 only

The fraction is over 1,000 because OMR has 3 decimal places. Write any amount in words.

OMR in React

The component reads the exponent from the currency code; you pass the integer and the code, never a float and never a decimal count.

tsx
import { Money } from "@/components/ledger/money";

// 1,234.560 OMR, stored as the integer 1234560
<Money accounting value={{ amount: 1234560, currency: "OMR" }} />

Also stored at 3 decimal places

Work with it

Tools that read OMR at its own exponent.

Works in your QuickBooks Online or Xero file

Get your books closed every month

Lopifi is building AI bookkeeping that keeps your books closed on US GAAP as transactions happen, with a CPA review every quarter, for $200 a month. We’re not open yet.

$200/month when we open. No card now.