【问题标题】:Angular pipe, custom decimal numbers [closed]角管,自定义十进制数字[关闭]
【发布时间】:2022-01-26 19:22:47
【问题描述】:

拥有

let myNumber = Math.PI;
let myPrecision = 4;

如何使用myPrecision 显示myNumber?

<label> {{ myNumber | ???myPrecision }} </label>

【问题讨论】:

  • decimalPipe.transform(this.myNumber,"1.2-2") 数字信息可以是x.0-0。 (x 是小数点前的最小位数)Usage notes
  • 请仔细阅读并回答如何使用myPrecision参数,而不是硬编码

标签: angular kendo-ui kendo-angular-ui


【解决方案1】:

一个不是很优雅,但解决方案可能是

<div> {{ myNumber | number: '1.' + myPrecision + '-' + myPrecision + }} </div>

附言。
在Joosep的suggestion之后,我做了一个自定义管道,像这样

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

@Pipe({ name: 'precision' })
export class PrecisionPipe implements PipeTransform {
  transform(value: number, precision: number): string {
    return value.toFixed(precision);
  }
}

所以现在我可以使用

<div> {{ myNumber | precision: myPrecision }} </div>

【讨论】:

  • 我的意思是它有效,你也可以自己制作烟斗
  • 我做了一个自定义管道作为例子。 stackblitz.com/edit/…
  • @Joosep.P 干得好,您想将其发布为答案吗? (认为​​现在不可能......)
  • 由于此问题已关闭,我无法再发布答案。很高兴我能帮上忙。
  • @Joosep.P,您可以使用 myNumber.ToFixed(myPrecision) 而无需 Pow 等
猜你喜欢
  • 2013-02-17
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
相关资源
最近更新 更多