import isFinite from 'lodash/isFinite'; export const transformStringToNumber = (str: string): number | null => { const filteredString = str.replace(/[^0-9.%-]/g, ''); const floatValue = (() => { if (filteredString.indexOf('%') > -1) { return parseFloat((parseFloat(filteredString) / 100).toFixed(14)); } return parseFloat(filteredString); })(); if (!isFinite(floatValue)) return null; return floatValue; };