Вы можете заменить ,
на .
и все пробелы из строки, а затем преобразовать ее в Number
и, наконец, получить строку в формате 'en-US'
, например:
const str = '1 234 345,45678'
const getFormattedString = (s, locale = 'en-US') => Number(str
.replace(',', '.').replace(/\s+/g,'')).toLocaleString(locale, {minimumFractionDigits: 5})
console.log( getFormattedString(str) )
Преимущество преобразования его в Number
заключается в том, что в будущем вам понадобится строка в другом формате, основанном на de-DE
(немецкий формат) или любом другом Вы можете легко сделать это, передав параметр locale
функции, например:
const str = '1 234 345,45678'
const getFormattedString = (s, locale = 'en-US') => Number(str
.replace(',', '.').replace(/\s+/g,'')).toLocaleString(locale, {minimumFractionDigits: 5})
console.log( getFormattedString(str) )
// German uses comma as decimal separator and period for thousands
console.log( getFormattedString(str, 'de-DE') )
// India uses thousands/lakh/crore separators
console.log( getFormattedString(str, 'en-IN') )