如何在角度2中使用十进制管道中的变量

时间:2017-04-10 09:20:36

标签: angular angular2-template

我想用角度为2的动态变量为数字格式创建一个十进制管道

十进制管道的示例 - number_expression | number [:digitInfo]其中digitInfo是一个字符串,格式如下: {minIntegerDigits} {minFractionDigits} - {maxFractionDigits}

我希望通过我的代码设置{minIntegerDigits}。{minFractionDigits} - {maxFractionDigits}

1 个答案:

答案 0 :(得分:0)

编写自己的管道,这是来自官方文档的示例:

    import { Pipe, PipeTransform } from '@angular/core';
/*
 * Raise the value exponentially
 * Takes an exponent argument that defaults to 1.
 * Usage:
 *   value | exponentialStrength:exponent
 * Example:
 *   {{ 2 |  exponentialStrength:10}}
 *   formats to: 1024
*/
@Pipe({name: 'exponentialStrength'})
export class ExponentialStrengthPipe implements PipeTransform {
  transform(value: number, exponent: string): number {
    let exp = parseFloat(exponent);
    return Math.pow(value, isNaN(exp) ? 1 : exp);
  }
}

让我们写下DecimalNumberPipe

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

@Pipe({name: 'decimalNumber'})
export class DecimalNumberPipe implements PipeTransform {
  transform(value: number, decimal: string): number {
    let dec = value - Math.floor(value)
    return dec;// write your formatting code here
  }
}