Documentation ¶
Overview ¶
Package currency contains currency-related functionality.
NOTE: the formatting functionality is currently under development and may change without notice.
Index ¶
Constants ¶
const CLDRVersion = "28"
CLDRVersion is the CLDR version from which the tables in this package are derived.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Amount ¶
type Amount struct {
// contains filtered or unexported fields
}
Amount is an amount-currency unit pair.
type Formatter ¶
type Formatter func(amount interface{}) formattedValue
Formatter decorates a given number, Unit or Amount with formatting options.
type Kind ¶
type Kind struct {
// contains filtered or unexported fields
}
Kind determines the rounding and rendering properties of a currency value.
var ( // Standard defines standard rounding and formatting for currencies. Standard Kind = Kind{/* contains filtered or unexported fields */} // Cash defines rounding and formatting standards for cash transactions. Cash Kind = Kind{/* contains filtered or unexported fields */} // Accounting defines rounding and formatting standards for accounting. Accounting Kind = Kind{/* contains filtered or unexported fields */} )
type Unit ¶
type Unit struct {
// contains filtered or unexported fields
}
Unit is an ISO 4217 currency designator.
var ( // Undefined and testing. XXX Unit = Unit{} XTS Unit = Unit{xts} // G10 currencies https://en.wikipedia.org/wiki/G10_currencies. USD Unit = Unit{usd} EUR Unit = Unit{eur} JPY Unit = Unit{jpy} GBP Unit = Unit{gbp} CHF Unit = Unit{chf} AUD Unit = Unit{aud} NZD Unit = Unit{nzd} CAD Unit = Unit{cad} SEK Unit = Unit{sek} NOK Unit = Unit{nok} // Additional common currencies as defined by CLDR. BRL Unit = Unit{brl} CNY Unit = Unit{cny} DKK Unit = Unit{dkk} INR Unit = Unit{inr} RUB Unit = Unit{rub} HKD Unit = Unit{hkd} IDR Unit = Unit{idr} KRW Unit = Unit{krw} MXN Unit = Unit{mxn} PLN Unit = Unit{pln} SAR Unit = Unit{sar} THB Unit = Unit{thb} TRY Unit = Unit{try} TWD Unit = Unit{twd} ZAR Unit = Unit{zar} // Precious metals. XAG Unit = Unit{xag} XAU Unit = Unit{xau} XPT Unit = Unit{xpt} XPD Unit = Unit{xpd} )
func FromRegion ¶
FromRegion reports the currency unit that is currently legal tender in the given region according to CLDR. It will return false if region currently does not have a legal tender.
func FromTag ¶
func FromTag(t language.Tag) (Unit, language.Confidence)
FromTag reports the most likely currency for the given tag. It considers the currency defined in the -u extension and infers the region if necessary.
func MustParseISO ¶
MustParseISO is like ParseISO, but panics if the given currency unit cannot be parsed. It simplifies safe initialization of Unit values.
func ParseISO ¶
ParseISO parses a 3-letter ISO 4217 currency code. It returns an error if s is not well-formed or not a recognized currency code.