/

Number KIT

Examples API Helpers Source code

Despite the name of the mask, the element's raw value remains of type string !

Use the helpers below to perform stringnumber conversions seamlessly.

maskitoParseNumber

  • By default, returns number type value
        
          import {
      maskitoParseNumber,
      type MaskitoNumberParams, // type for 2nd argument of maskitoParseNumber
      maskitoNumber,
    } from '@maskito/kit';
    
    const params: MaskitoNumberParams = {
      decimalSeparator: ',', // default is '.'
    };
    
    maskitoNumber(params); // MaskitoOptions
    
    const value: number = maskitoParseNumber('10 000,42', params); // 10000.42
    
    typeof value === 'number'; // true
    
    // "Empty" values
    maskitoParseNumber(''); // NaN
    maskitoParseNumber('-'); // NaN
        
  • Also, supports bigint mode
        
          import {
      maskitoParseNumber,
      type MaskitoNumberParams, // type for 2nd argument of maskitoParseNumber
      maskitoNumber,
    } from '@maskito/kit';
    
    const params: MaskitoNumberParams = {
      thousandSeparator: '_',
    };
    
    maskitoNumber(params); // MaskitoOptions
    
    const value: bigint | null = maskitoParseNumber('1_234_567_890_123_456_789', {
      ...params,
      bigint: true,
    }); // 1234567890123456789n
    
    value > Number.MAX_SAFE_INTEGER; // true
    typeof value === 'bigint'; // true
    
    // "Empty" values
    maskitoParseNumber('', {bigint: true}); // null
    maskitoParseNumber('-', {bigint: true}); // null
        
Always pass the second argument to the utility if your number format parameters differ from the default ones to ensure correct parsing and avoid unexpected results!
    
      maskitoParseNumber('-42'); // -42 ✅
maskitoParseNumber('> -42'); // 42 ❌
maskitoParseNumber('> -42', {prefix: '> '}); // -42 ✅
    

maskitoStringifyNumber

Works with both number and bigint types.
    
      import {
  maskitoStringifyNumber,
  type MaskitoNumberParams, // type for 2nd argument of maskitoStringifyNumber
  maskitoNumber,
} from '@maskito/kit';

const params: MaskitoNumberParams = {
  thousandSeparator: '_',
  prefix: '$',
};

maskitoNumber(params); // MaskitoOptions

maskitoStringifyNumber(null); // ''
maskitoStringifyNumber(NaN); // ''
maskitoStringifyNumber(1234, params); // '$1_234'
maskitoStringifyNumber(BigInt('1234'), params); // '$1_234'