从angular2中的数字管道中删除逗号

Jit*_*n j 8 angular-pipe angular

我是Angular 2的初学者.我正在尝试使用angular显示一些数据.这是我的代码部分:

  <span>Value :</span> <span>{{myvalue| number : '1.2-2'}}</span>
Run Code Online (Sandbox Code Playgroud)

以上部分将显示值,例如:"124,500.00".没问题,但我需要删除逗号并显示数据仅为124500.00.这也不是货币类型.

我尝试过这样的事情,但是没有用

   <span>Value :</span> <span>{{myvalue| number: '.2-3''}}</span>
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我可以使用任何自定义管道吗?

提前致谢

Ben*_*idt 20

实际上,看起来DecimalPipe没有直接参数来更改或删除小数点.编写自己的管道以删除小数点可能是最好的.

您可以编写自己的管道来完全替换当前使用的DecimalPipe(用于所有内容的单个管道),也可以编写一个管道,在使用DecimalPipe(链接管道)后删除逗号.最后一个选项可能看起来像这样(我得到了这个答案的代码,所以对Adrien的问候).

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'noComma'
})
export class NoCommaPipe implements PipeTransform {

  transform(val: number): string {
    if (val !== undefined && val !== null) {
      // here we just remove the commas from value
      return val.toString().replace(/,/g, "");
    } else {
      return "";
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

你可以像这样链接管道.

 <span>Value :</span> <span>{{myvalue| number : '1.2-2' | noComma}}</span>
Run Code Online (Sandbox Code Playgroud)

只需记住在模块中声明管道.

  • 这只会替换字符串中找到的第一个逗号。您需要使用`/,/ g`替换字符串中的所有逗号。 (2认同)