Money
Formatea un amount numérico en una cadena de moneda localizada y lo renderiza con un símbolo de moneda. El símbolo puede ubicarse al inicio o al final. Los separadores de miles y decimales son configurables. El valor formateado es memoizado y solo se recalcula cuando cambian amount, decimalSeparator, thousandsSeparator o decimalPlaces.
Props
| Prop | Tipo | Requerido | Por defecto | Descripción |
|------|------|-----------|-------------|-------------|
| amount | number | Sí | — | Valor numérico a formatear. |
| currencySymbol | string | No | '$' | Símbolo de moneda. |
| symbolPosition | 'start' \| 'end' | No | 'start' | Posición del símbolo respecto al monto. |
| decimalSeparator | '.' \| ',' | No | ',' | Separador decimal. |
| thousandsSeparator | '.' \| ',' | No | '.' | Separador de miles. |
| decimalPlaces | number | No | 2 | Cantidad de dígitos decimales. |
| color | string | No | 'textShade' | Color del texto. Admite claves del tema o strings CSS. |
| fontSize | number | No | — | Tamaño de fuente en píxeles. |
| fontWeight | React.CSSProperties['fontWeight'] | No | — | Peso de fuente. |
| containerStyle | React.CSSProperties | No | — | Estilos del contenedor. |
| symbolStyle | React.CSSProperties | No | — | Estilos del símbolo. |
| amountStyle | React.CSSProperties | No | — | Estilos del monto. |
Uso
Básico (peso argentino)
import Money from '@/components/Money';
export default function Example() {
return <Money amount={1234567.89} />;
// Muestra: $ 1.234.567,89
}
Dólar con separador de punto
import Money from '@/components/Money';
export default function Example() {
return (
<Money
amount={9999.5}
currencySymbol="USD"
decimalSeparator="."
thousandsSeparator=","
symbolPosition="end"
/>
);
// Muestra: 9,999.50 USD
}