Angular 使用不同语言环境的小数进行计算\u ID不起作用,角度6

Angular 使用不同语言环境的小数进行计算\u ID不起作用,角度6,angular,angular6,Angular,Angular6,我想用小数做一个数学计算 我有几个输入在它们之间进行计算,这些输入是项目的价格,为了更好地可视化它们,我将LOCALE|u ID从angular改为“es”(西班牙语位置),目前一切正常,数字以正确的格式显示,应用管道编号 问题是。。。当我使用包含小数的数字进行计算时,结果为NaN,原因是它不识别该数字,例如150,30€(不识别“,”) 如果我删除LOCALE_ID,则数字的格式将变为150.30欧元,并且计算非常完美 我怎样才能修好它 演示闪电战 我一直在尝试不同的方法,但我无法像我预期的那

我想用小数做一个数学计算

我有几个输入在它们之间进行计算,这些输入是项目的价格,为了更好地可视化它们,我将LOCALE|u ID从angular改为“es”(西班牙语位置),目前一切正常,数字以正确的格式显示,应用管道编号

问题是。。。当我使用包含小数的数字进行计算时,结果为NaN,原因是它不识别该数字,例如150,30€(不识别“,”)

如果我删除LOCALE_ID,则数字的格式将变为150.30欧元,并且计算非常完美

我怎样才能修好它

演示闪电战


我一直在尝试不同的方法,但我无法像我预期的那样解决它,JS不能像这样对十进制进行操作,“150,30”只能像这样“150.30”。。。所以我做的是创建了一个新管道

@Pipe({name: 'DecimalPipe'})

export class Decimals implements PipeTransform {
  transform(value: number): number {
    var num1 = Math.floor(value * 100) / 100;
    return num1;
  }
}

Js始终使用“.”作为小数分隔符。这些数字来自哪里?给我们看一些代码。这里我给你做了一个演示,@EliasSoares如果你知道我如何更改这个组件的区域设置,我的意思是,我真的不在乎这个组件是否有“en-us”区域设置,但是应用程序的其余部分必须有“es”区域设置。我读了一些关于动态更改语言环境的内容,但我不知道如何设置它。