@canutin/svelte-currency-input
Version:
A fully-featured currency input component for Svelte 5 that handles formatting, localization, and validation
27 lines (26 loc) • 736 B
JavaScript
export const padTrimValue = (value, decimalSeparator, decimalScale) => {
if (decimalScale === undefined ||
decimalSeparator === '' ||
decimalSeparator === undefined ||
value === '' ||
value === undefined) {
return value;
}
if (!value.match(/\d/g)) {
return '';
}
const [int, decimals] = value.split(decimalSeparator);
if (decimalScale === 0) {
return int;
}
let newValue = decimals || '';
if (newValue.length < decimalScale) {
while (newValue.length < decimalScale) {
newValue += '0';
}
}
else {
newValue = newValue.slice(0, decimalScale);
}
return `${int}${decimalSeparator}${newValue}`;
};