Skip to main content

Currency value

Examples​

Check out the Usage section for details about how to design a currency value properly, and the different configuration options we provide.

Basic example​

The CurrencyValue component can take a numeric value and render it as a monetary amount. It will add a currency symbol, separators, and a decimal separator based on the locale.

<CurrencyValue value={ 123456 } />

Object input example​

The value property can take an object that states the amount and currency of the value to display. The currency property needs to be an ISO 4217 alphabetic currency code.

<CurrencyValue value={ {amount: 123456, currency: "EUR"} } />
<CurrencyValue value={ {amount: 123456, currency: "USD"} } />

Amount and currency properties​

You can use the amount and currency properties in the CurrencyValue component as an alternative to setting an object in the value property.

<CurrencyValue amount={ 123456 } currency="EUR" />
<CurrencyValue amount={ 123456 } currency="USD" />

Currency format​

You can use the currencyDisplay property to set whether to display the symbol, ISO 4217 alphabetic currency code, or name for the currency.

<CurrencyValue value={123456} currencyDisplay="code" />
<CurrencyValue value={123456} currencyDisplay="symbol" />
<CurrencyValue value={123456} currencyDisplay="name" />

Show fractions​

You can choose whether to display the fraction part of the value using the showFractions property. This will round the value to the nearest whole number.

<CurrencyValue 
value={ 1234.5 } // note that this becomes 1235 in the sample above due to rounding
showFractions={ false }
/>

Imperative API example​

jutro-components offers the formatCurrency function for use with the imperative formatting API.

import { formatCurrency } from '@jutro/components';
import { IntlContext } from '@jutro/locale';
...
const intl = useContext(IntlContext);
...
const c1 = formatCurrency(intl, { value: 1232.24, currency: 'eur', showFractions: true });
const c2 = formatCurrency(intl, { value: 4232.24, currency: 'jpy', showFractions: true, currencyDisplay: 'code'});
const c3 = formatCurrency(intl, { showFractions: true }, { amount: 23434.34, currency: 'dkk' });

// en-US output:
€1,232.24
JPY 4,232
DKK 23,434.34

// pl-PL output
1232,24 €
4232 JPY
23 434,34 DKK