@reown/appkit-common
Version:
The full stack toolkit to build onchain app UX.
48 lines • 1.49 kB
JavaScript
import Big from 'big.js';
export const NumberUtil = {
bigNumber(value) {
if (!value) {
return new Big(0);
}
return new Big(value);
},
multiply(a, b) {
if (a === undefined || b === undefined) {
return new Big(0);
}
const aBigNumber = new Big(a);
const bBigNumber = new Big(b);
return aBigNumber.times(bBigNumber);
},
toFixed(value, decimals = 2) {
if (value === undefined || value === '') {
return new Big(0).toFixed(decimals);
}
return new Big(value).toFixed(decimals);
},
formatNumberToLocalString(value, decimals = 2) {
if (value === undefined || value === '') {
return '0.00';
}
if (typeof value === 'number') {
return value.toLocaleString('en-US', {
maximumFractionDigits: decimals,
minimumFractionDigits: decimals,
roundingMode: 'floor'
});
}
return parseFloat(value).toLocaleString('en-US', {
maximumFractionDigits: decimals,
minimumFractionDigits: decimals,
roundingMode: 'floor'
});
},
parseLocalStringToNumber(value) {
if (value === undefined || value === '') {
return 0;
}
const sanitizedValue = value.replace(/,/gu, '');
return new Big(sanitizedValue).toNumber();
}
};
//# sourceMappingURL=NumberUtil.js.map