我有一个数字,比如说9。但我需要它作为字符串“09”。我知道我可以写出自己的逻辑。但我正在寻找一个隐式效用函数,可以填补数字。我正在使用Angular2和TypeScript。正在寻找类似this的东西。就像Java一样:
String.format("%010d", Integer.parseInt(mystring));
vsnjm48y1#
您可以为此创建自己的函数。要格式化数字,您必须先将其转换为字符串:
function pad(num, size) { let s = num+""; while (s.length < size) s = "0" + s; return s; }
类型脚本:
pad(num:number, size:number): string { let s = num+""; while (s.length < size) s = "0" + s; return s; }
str.padStart(targetLength [, padString]) str.padEnd(targetLength [, padString])
看看padStart 's documentation。
padStart
{{ myNumber | number:'2.0' }}
ulydmbyx2#
由于Angular v4有DecimalPipe,因此我们可以轻松添加前导零:https://angular.io/api/common/DecimalPipe在你的html中,你可以这样使用then:{{ myNumber | number:'2.0' }}
dzjeubhm3#
您可以使用以下HTML格式的模板之一
{{ ("00" + 9).slice(-2) }} // 09
或者
{{ 9 | number: '2.' }} // 09
或在组件ts代码文件中
var x = ("00" + 9).slice(-2);
eni9jsuy4#
如果我想在开始处填充**“0”,并希望字符串str的长度为9**:
str.padStart(9 ,"0")
8xiog9wr5#
使用最新的Typescript,您可以执行以下操作:
let myStr:string = padLeft('123', '0', 6); // '000123' padLeft(text:string, padChar:string, size:number): string { return (String(padChar).repeat(size) + text).substr( (size * -1), size) ; }
gkn4icbw6#
public padIntegerLeftWithZeros(rawInteger: number, numberOfDigits: number): string { let paddedInteger: string = rawInteger + ''; while (paddedInteger.length < numberOfDigits) { paddedInteger = '0' + paddedInteger; } return paddedInteger; } public zeroPadIntegerLeft3Digits(rawInteger: number): string { return this.padIntegerLeftWithZeros(rawInteger, 3); }
kadbb4597#
您可以为此创建管道
{{ID |LeftPadFilter: ID}} import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'LeftPadFilter', pure: false }) export class LeftPadFilter implements PipeTransform { transform(item: string): string { return (String('0').repeat(2) + item).substr((2 * -1), 2); } }
7条答案
按热度按时间vsnjm48y1#
您可以为此创建自己的函数。要格式化数字,您必须先将其转换为字符串:
类型脚本:
看看
padStart
's documentation。ulydmbyx2#
由于Angular v4有DecimalPipe,因此我们可以轻松添加前导零:https://angular.io/api/common/DecimalPipe
在你的html中,你可以这样使用then:
{{ myNumber | number:'2.0' }}
dzjeubhm3#
您可以使用以下HTML格式的模板之一
或者
或在组件ts代码文件中
eni9jsuy4#
如果我想在开始处填充**“0”,并希望字符串str的长度为9**:
8xiog9wr5#
使用最新的Typescript,您可以执行以下操作:
gkn4icbw6#
kadbb4597#
您可以为此创建管道