【问题标题】:How can i use pipe in this case在这种情况下我该如何使用管道
【发布时间】:2021-07-19 15:47:07
【问题描述】:

这个号码来自我的 api

"vlr": 1749109.14

我必须组合才能展示

174.910.914

我尝试使用管道,但无法获得所需的格式。

有没有办法获得这种格式,或者更改来自 api 的值会更好?

【问题讨论】:

  • 您确定总是收到 XXX.XXX.XXX 吗?你有例如 XX.XXX.XXX 吗?

标签: angular pipe


【解决方案1】:

根据我的说法,您有 2 个解决方案:

    1. 在您接收此数据的服务中创建一个函数,并直接在服务中格式化。
    1. 创建管道并计算值。
  1. (服务名称)
getData(): Observable<any> {
  return this.http.get<any>(...).pipe(
    map(res => this.formatValue(res.vlr))
  );
}

private formatValue(value: number): string {
  let temp = value.toString().replace('.', '');
  return temp.match(/.{1,3}/g).join(".");
}

(组件)


vlr: string;

constructor(service: ServiceName) {
  this.service.getData().subscribe(res => {
    console.log(res);
    this.vlr = res.vlr;
  });
}

  1. ts
vlr = 1749109.14;

html

<span>{{ vlr | formatVlr }}</span>

(管道)

transform(value: number): string {
  let temp = value.toString().replace('.', '');
  return temp.match(/.{1,3}/g).join(".");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 2011-01-17
    • 2022-07-22
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多