角度为2的数千个分隔符

时间:2017-03-30 20:26:01

标签: angular typescript ionic2

我在我的项目中试过这个:

<div padding *ngIf="TotalAPagar">
    $ {{TotalAPagar | number }}  
</div>

我的变量名为TotalAPagar,我使用数字管道,但它显示的值如此 1,000,500

我需要将编号约定更改为dots。例如。的 1.000.000

我一直在文档中阅读角度,但没有任何例子。

3 个答案:

答案 0 :(得分:4)

我认为有两种方法可以解决这个问题:

<强> 1。您可以尝试从 @ angular / common 库中覆盖DecimalPipe:

这样:

<强>点replacer.pipe.ts

import { Pipe } from '@angular/core';
import {DecimalPipe} from "@angular/common";

@Pipe({
    name: 'pointReplacer'
})
export class PointReplacerPipe extends DecimalPipe {

  transform(value: any, digits?: string): string {
        return super.transform(value, digits).replace(',', '.');


    }
}

以及 html代码

<div padding *ngIf="TotalAPagar">
    $ {{TotalAPagar | pointReplacer }}  
</div>

<强> 2。您可以编写自己的管道,替换字符并在html代码中使用**双管道 **

尝试这种方式:

<强>点replacer.pipe.ts

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

@Pipe({
    name: 'pointReplacer'
})

export class PointReplacerPipe implements PipeTransform {
    transform(value: string, args: any[]): string {
        if(value) {
          return value.replace(',', '.');
        }
        return '';
    }
}

以及 html代码

<div padding *ngIf="TotalAPagar">
    $ {{TotalAPagar | number | pointReplacer }}  
</div>

无论您选择哪种方法,都不要忘记在模块中声明自己的管道,使用它:

@NgModule({
  declarations: [PointReplacerPipe],
  providers: [PointReplacerPipe]
}) 

答案 1 :(得分:3)

在关于角度js的论坛和文档中阅读后,我发现了一种将数字放在格式和货币中的方法,该方法是toLocaleString(),是一种来自javascript的方法,有助于将其置于货币或语言中你需要的。

我使用该方法搜索我需要的国家/地区的名称,并向我显示所需的信息。 (http://www.localeplanet.com/icu/es-CO/),我的情况是哥伦比亚。

在我的函数中,我只需要将.toLocaleString(&#39; es-CO&#39;)添加到结果中,并使用指定的货币放置值。

例如:

  

this.TotalAPagar =   (this.calcularDescuentosLiquidacion(this.TotalDevengadoValor,   this.sueldoPendientePorCancelarValor,this.item.libranza,   this.item.prestamo_empleado)+   this.calcularIndemnizacion(this.item.promedio_salario,   this.item.fecha_fin_contrato,   this.item.fecha_inicio_contrato))的toLocaleString(&#39; ES-CO&#39);

答案 2 :(得分:2)

我认为这是一个更清洁的解决方案:

在app.modules.ts中导入LOCALE_ID

import {ErrorHandler, NgModule, LOCALE_ID} from '@angular/core';

并在以下提供商中定义:

  providers: [
    PouchServiceProvider,
    DbProvider, {
      provide: LOCALE_ID,
      useValue: "nl-NL"
    }
  ]

这将根据local_id

自动选择分隔符ID