Cod*_*bie 7 javascript ecma typescript angular
我正在使用 Intl.NumberFormat 将数字类型转换为 Angular2 中 typescript/javascript 中的格式化字符串。我想要一个本机解决方案,这是理想的,但我需要为正数包含一个前导加号。
如果这是不可能的Intl.NumberFormat怎么回事难道我这样做本身?
@Input() amount : number;
drawLabel() {
var formatter = new Intl.NumberFormat("en-GB",
{
style: "decimal",
minimumFractionDigits:1
});
...
this.label = formatter.format(this.amount)
}
Run Code Online (Sandbox Code Playgroud)
小智 8
在 2019 年,你这样做:
var formatter = new Intl.NumberFormat("en-GB", { style: "decimal", signDisplay: 'always' });
console.log(formatter.format(-100.123456));
// output -100.123
console.log(formatter.format(100.123456));
// output +100.123
console.log(formatter.format(0));
// output +0.Run Code Online (Sandbox Code Playgroud)
尝试这样的事情:
class FormatterWithSign extends Intl.NumberFormat {
constructor(...args) {
super(...args);
}
format(x) {
var res = super.format(x);
return x < 0 ? res : "+" + res;
}
}
var formatter = new FormatterWithSign("en-GB", { style: "decimal", minimumFractionDigits:1 });
console.log(formatter.format(-100.123456));
console.log(formatter.format(100.123456));
console.log(formatter.format(0));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2184 次 |
| 最近记录: |