对角度4中的正值和负值都应用舍入和逗号分隔的格式

时间:2018-07-28 17:32:47

标签: angular

我正在尝试编写一个有角度的管道,该管道将执行以下操作:

  1. 将数字除以1000
  2. 如果数字<1000,则显示两位小数位
  3. 如果数字>> 1000,则将值四舍五入
  4. 如果数字> = 1000则应显示逗号分隔的值
  5. 负数也应使用相同的(1-4)。

我已经能够工作1-3。如何达到第4点和第5点。

所以

例如点4应该是1200应该是1200。

例如,点5将为,-1200将为-1,200。

此刻,负数四舍五入,因为它们处于第一个if条件中。即if (number <= 999)

export class ShortNumberDivideByThousandPipe implements PipeTransform {

  transform(number: any) {

    if (number === null) {
      return;
    }
  number = parseFloat(number);

    if (isNaN(number)) {
      return;
    }


    number = (number / 1000);

    if (number <= 999) { // hundreds
      number = number.toFixed(2);
    } else if (number >= 1000) {  // thousands
      number = number.toFixed(0);
    } return number;
  }
}

1 个答案:

答案 0 :(得分:0)

看您的问题,看来您只需要将数字除以1000其余即可,所有与格式相关的事情都可以通过DecimalPipe中内置的angular来完成。 有关详细信息,请访问:-https://angular.io/api/common/DecimalPipehttps://angular.io/api/common/formatNumber