如何解析数字指定模式,小数点分隔符和分组分隔符的角度?

时间:2018-05-30 16:00:03

标签: angular typescript parsing internationalization numbers

我会马上承认我是一名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

我能找到的与此相关的每个资源都只是格式化(不解析)

How to specify thousand separator for number pipe in Angular 4

NativeScript: Formatting number typescript

或使用正则表达式代替的人(这对我来说似乎很疯狂)

How can I parse a string with a comma thousand separator to a number?

或一些不考虑interationalization的一般主题

TypeScript Converting a String to a number

In Typescript, How to check if a string is Numeric

我在angular的GitHub上做了一些挖掘,我确实发现了这个类format_number但这似乎只与格式化没有解析有关,或者至少我无法弄清楚如何使用它。

问题是:在Angular中是否有这样的对象?如果不是,这也是一个有效的答案(我可以停止搜索)。如果您想使用外部库传递解决方案,请记得add context around the link

1 个答案:

答案 0 :(得分:1)

我会这样做:

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