Money

  • Money is represented using a JSON object with currency code, whole units, and nano units.

  • Currency is specified by a three-letter ISO 4217 code like "USD".

  • The units field stores the whole currency units, while nanos stores fractional units (10^-9).

  • nanos value must be within -999,999,999 to +999,999,999 and its sign must align with the sign of units.

Represents an amount of money with its currency type.

JSON representation
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Fields
currencyCode

string

The three-letter currency code defined in ISO 4217.

units

string (int64 format)

The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.

nanos

integer

Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.