Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据语言环境javascript将字符串转换为数字_Javascript_Angular - Fatal编程技术网

如何根据语言环境javascript将字符串转换为数字

如何根据语言环境javascript将字符串转换为数字,javascript,angular,Javascript,Angular,如果我这样做: var编号=35000.25;警报(编号:toLocaleString(“de”))我将获得德语版的35.000,25 但我如何将其转换回35000.25,或者我想要类似的东西: var str='35.000,25';警报(str.toLocaleNumber(“en-US”)因此,它可以给出35000.25 JS是否可能?以下函数将首先基于给定的区域设置构造一个NumberFormat。然后,它将尝试查找该语言的十进制分隔符 最后,它将替换给定字符串中除十进制分隔符以外的所有

如果我这样做:

var编号=35000.25;警报(编号:toLocaleString(“de”))我将获得德语版的
35.000,25

但我如何将其转换回
35000.25
,或者我想要类似的东西:

var str='35.000,25';警报(str.toLocaleNumber(“en-US”)因此,它可以给出
35000.25


JS是否可能?

以下函数将首先基于给定的区域设置构造一个NumberFormat。然后,它将尝试查找该语言的十进制分隔符

最后,它将替换给定字符串中除十进制分隔符以外的所有分隔符,然后将依赖于区域设置的分隔符替换为默认点,并将其转换为数字

函数编号(num,locale){
const{format}=新的Intl.NumberFormat(区域设置);
常量[,小数]=/^0(.)1$/.exec(格式(0.1));
return+num
.replace(新的RegExp(`[^${decimalSign}\\d]`,'g'),'')
.替换(小数点符号“.”);
}
//转换器编号('100,45','de')
// -> 100.45
请记住,这只是一个概念的快速证明,对于不遵循此处假设的更具异国情调的地区(例如,从左到右,没有奇怪的数字插入,没有空格,没有符号等),可能/将失败


但是你可以调整这个

不可能重复,我正在寻找不同的解决方案,然后解释不同的方式?谢谢,但我也在寻找法语数字格式(包含空格),类似于:var str='35 000,25';警报(str.toLocaleNumber(“en-US”);因此,它可以提供35000.25。您可以轻松地使脚本适应这些条件。