Как разобрать число, определяющее шаблон, десятичный разделитель и группирующий разделитель в угловых? - PullRequest
0 голосов
/ 30 мая 2018

Я сразу признаю, что являюсь разработчиком Java и ищу функцию, аналогичную DecimalFormat , что-то вроде:

DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(Locale.getDefault());
unusualSymbols.setDecimalSeparator('|');
unusualSymbols.setGroupingSeparator('^');
DecimalFormat weirdFormatter = new DecimalFormat("#,##0.###", unusualSymbols);
Number myNum = weirdFormatter.parse("8^453|13");

Код адаптирован из Oracle javase i18n

Каждый ресурс, который я могу найти, связан с этим, либо просто отформатировать (не анализируя)

Как указать разделитель тысяч для номерного каналаin Angular 4

NativeScript: машинопись чисел для форматирования чисел

или люди, использующие регулярные выражения для замены (это кажется мне безумным)

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

или некоторые общие темы, которые не учитывают интернационализацию

TypeScript Преобразование строки в число

В Typescript, Как проверить, является ли строка Numeric

Я немного покопался в GitHub angular и нашел этот класс format_number но, похоже, это относитсяrmatting не разбирает или, по крайней мере, я не могу понять, как его использовать.


Вопрос: есть ли такой объект в Angular ?, если нет, то это также правильный ответ (я могупрекратить поиск).Если вы хотите передать решение с использованием внешней библиотеки, пожалуйста, не забудьте добавить контекст вокруг ссылки

1 Ответ

0 голосов
/ 30 мая 2018

Я бы просто сделал:

var numberStr = "8^453|13";
var number = parseFloat(numberStr.replace("^", "").replace("|", "."));
...