Par*_*osh 22 string padding typescript angular
我有一个数字让我说9.但我需要它作为字符串"09".
我知道我可以写自己的逻辑.但我正在寻找一个隐含的util函数,它可以填充它.
我在TypeScript中使用angular2.寻找像这样.
就像java一样
String.format("%010d", Integer.parseInt(mystring));
Run Code Online (Sandbox Code Playgroud)
Eva*_* M. 34
您可以为此创建自己的功能.要格式化数字,首先必须将其转换为字符串.
function pad(num, size) {
let s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
Run Code Online (Sandbox Code Playgroud)
打字稿
pad(num:number, size:number): string {
let s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
Run Code Online (Sandbox Code Playgroud)
编辑:有一些更好,更高效的方法来做到这一点.请参阅本答案中的讨论:https://stackoverflow.com/a/9744576/1734678(如果您有时间,我建议您阅读大部分提交的答案)
更新: ECMAScript 2017现在支持字符串填充
str.padStart(targetLength [, padString])
str.padEnd(targetLength [, padString])
Run Code Online (Sandbox Code Playgroud)
检查https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
mac*_*zos 17
从Angular v4开始,有DecimalPipe可以轻松添加前导零:https://angular.io/api/common/DecimalPipe
在您的HTML中,您可以使用以下内容:
{{ myNumber | number:'2.0' }}
您可以在HTML中使用以下模板之一
{{ ("00" + 9).slice(-2) }} // 09
Run Code Online (Sandbox Code Playgroud)
要么
{{ 9 | number: '2.' }} // 09
Run Code Online (Sandbox Code Playgroud)
或在组件ts代码文件中
var x = ("00" + 9).slice(-2);
Run Code Online (Sandbox Code Playgroud)
使用最新的 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) ;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32788 次 |
| 最近记录: |