@umituz/react-native-currency
v1.0.0
Published
Currency formatting and utilities for React Native applications
Maintainers
Readme
@umituz/react-native-currency
Currency formatting and utilities for React Native applications.
Features
- 🪙 9 Supported Currencies: USD, EUR, GBP, JPY, CNY, TRY, INR, AUD, CAD
- 💰 Smart Formatting: Automatic currency symbol placement and decimal formatting
- 📊 Compact Format: Support for K/M abbreviations (e.g., $1.5K, $2.3M)
- 🌍 Locale-Aware: Proper decimal and thousands separators per currency
- 📝 Type-Safe: Full TypeScript support
Installation
npm install @umituz/react-native-currencyUsage
Basic Currency Formatting
import { formatCurrency } from '@umituz/react-native-currency';
// Basic formatting
formatCurrency(1234.56, 'USD'); // "$1,234.56"
formatCurrency(1234.56, 'EUR'); // "€1.234,56"
formatCurrency(1234.56, 'TRY'); // "₺1.234,56"
// Compact format
formatCurrency(1500000, 'USD', { compact: true }); // "$1.5M"
formatCurrency(2500, 'USD', { compact: true }); // "$2.5K"
// With currency code
formatCurrency(1234.56, 'USD', { showCode: true }); // "$1,234.56 USD"
// Without symbol
formatCurrency(1234.56, 'USD', { showSymbol: false }); // "1,234.56"Currency Information
import {
getCurrencyInfo,
getCurrencySymbol,
getSupportedCurrencies,
CURRENCIES,
} from '@umituz/react-native-currency';
// Get currency information
const usdInfo = getCurrencyInfo('USD');
// {
// code: 'USD',
// symbol: '$',
// name: 'US Dollar',
// symbolPosition: 'before',
// decimalSeparator: '.',
// thousandsSeparator: ',',
// decimals: 2,
// }
// Get currency symbol
getCurrencySymbol('EUR'); // "€"
// Get all supported currencies
const currencies = getSupportedCurrencies();
// ['USD', 'EUR', 'GBP', 'JPY', 'CNY', 'TRY', 'INR', 'AUD', 'CAD']Parse Amount Input
import { parseAmountInput } from '@umituz/react-native-currency';
parseAmountInput('$1,234.56'); // 1234.56
parseAmountInput('€1.234,56'); // 1234.56
parseAmountInput('1,234.56 USD'); // 1234.56Types
import type { Currency, MoneyAmount } from '@umituz/react-native-currency';
const currency: Currency = 'USD';
const amount: MoneyAmount = {
amount: 1234.56,
currency: 'USD',
};Supported Currencies
| Code | Symbol | Name | Decimals | |------|--------|------|----------| | USD | $ | US Dollar | 2 | | EUR | € | Euro | 2 | | GBP | £ | British Pound | 2 | | JPY | ¥ | Japanese Yen | 0 | | CNY | ¥ | Chinese Yuan | 2 | | TRY | ₺ | Turkish Lira | 2 | | INR | ₹ | Indian Rupee | 2 | | AUD | A$ | Australian Dollar | 2 | | CAD | C$ | Canadian Dollar | 2 |
API Reference
formatCurrency(amount, currency, options?)
Formats a number as currency.
Parameters:
amount(number): The amount to formatcurrency(Currency): The currency code (default: 'USD')options(object, optional):showSymbol(boolean): Show currency symbol (default: true)showCode(boolean): Show currency code (default: false)compact(boolean): Use compact format (K/M) (default: false)
Returns: string - Formatted currency string
getCurrencyInfo(currency)
Gets detailed information about a currency.
Parameters:
currency(Currency): The currency code
Returns: CurrencyInfo - Currency information object
getCurrencySymbol(currency)
Gets the symbol for a currency.
Parameters:
currency(Currency): The currency code
Returns: string - Currency symbol
getSupportedCurrencies()
Gets all supported currency codes.
Returns: Currency[] - Array of currency codes
parseAmountInput(input)
Parses a currency string input and returns the numeric value.
Parameters:
input(string): The input string to parse
Returns: number - Parsed numeric value
License
MIT
