jQuery toLocaleString для чисел в текстовой строке - PullRequest
0 голосов
/ 15 апреля 2020

Итак, я хочу использовать toLocaleString, чтобы изменить свой номер с 10000 на 10000, что просто с помощью:

var numberString = 10000;

console.log(numberString .toLocaleString("en"));

. Как я могу сделать так, чтобы число в текстовой строке использовалось тот же формат?

var numberString = 'The amount is 10000';

console.log(numberString.toLocaleString("en"));

Так и должно быть «Сумма 10000».

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете использовать метод .replace() для поиска числа в строке с флагом g, чтобы заменить число в любом месте строки на форматированное. Также нам нужно сначала преобразовать найденные совпадения в Number, так как они на самом деле являются строками, а метод toLocaleString() работает только с числом.

var numberString = 'The amount is 10000. But can be also 2000000';
var formatted = numberString.replace(/\d+/g, n => Number(n).toLocaleString("en"))
console.log(formatted);

В целях отладки, если вы хотите увидеть, какие подстроки соответствуют в функции замены метода .replace(), вы можете сделать это следующим образом:

var numberString = 'The amount is 10000. But can be also 2000000 or more 5000.';
numberString.replace(/\d+/g, n => console.log(n, typeof n))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...