如何用角度2中的逗号分隔数千

时间:2017-11-04 17:21:30

标签: angular pipe separator

在角度2或4中我希望数字以逗号分隔千,当它在输入和用户输入时以及它只是打印时。 您有任何想法或解决方案可以分享吗? 提前谢谢你们。

2 个答案:

答案 0 :(得分:8)

这里有2个选项:

管道(用于没有用户交互的文本)

  • 对于文本(只是显示某些内容),您只需使用Angular的内置Decimal Pipe
@Component({
  selector: 'number-pipe',
    template: `<div>
    <!--output '25,000.00'-->
    <p>{{mynumber | number:'5.2-2'}}</p>

    <!--output '25 000,00'-->
    <p>{{mynumber | number:'5.2-2':'fr'}}</p>
    </div>`
})
export class NumberPipeComponent {
  mynumber: number = 2500000;
}

'5.2.2'部分响应定义如下的规则:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

请注意,在格式化时使用逗号或点时,不同的locale会产生不同的结果。

掩码(用于将数字格式化为用户类型的输入)

  • 如果您想在用户在<input>内输入时格式化数字,则需要使用屏蔽库或格式化程序解决方案,如npm package或类似内容。

安装软件包npm install ng2-currency-mask --save后,您必须通过imports

将其添加到您的模块中
import { CurrencyMaskModule } from "ng2-currency-mask";

@NgModule({
    imports: [
        ...
        CurrencyMaskModule
    ],
    declarations: [...],
    providers: [...]
})
export class AppModule {}

最后实现它:

<input currencyMask [(ngModel)]="value" [options]="{ prefix: 'R$ ', thousands: '.', decimal: ',' }"/>

确保检查包提供的所有不同选项。

答案 1 :(得分:4)

只需添加此管道{{ mynumber | number:0 }}即可。它将指定您的值是一个数字。因此,它将以逗号分隔,然后"0"指定没有小数。