【发布时间】:2017-11-04 17:21:29
【问题描述】:
在角度 2 或 4 中,我希望在输入和用户键入时以及仅打印时,用逗号将数字分隔为千位。 您有什么想法或解决方案可以分享吗? 提前谢谢你们。
【问题讨论】:
-
@JB Nizet 谢谢你的回复,但我不明白如何使用它
-
正如文档示例中所述:{{ someNumber |数字 }}。这是一个管道。它被用作任何其他管道。
在角度 2 或 4 中,我希望在输入和用户键入时以及仅打印时,用逗号将数字分隔为千位。 您有什么想法或解决方案可以分享吗? 提前谢谢你们。
【问题讨论】:
你有两个选择:
@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: ',' }"/>
请务必检查软件包提供的所有不同选项。
【讨论】:
只需添加此管道{{ mynumber | number:0 }}。它将指定您的值是一个数字。因此,它将以逗号分隔,然后 "0" 指定没有小数。
【讨论】: