JS: 与 number 相关的方法,持续更新…
限制数字的大小范围
Math.min/max
function limitNumberInRange(val: number, min: number, max: number) {
return Math.min(Math.max(val, min), max);
}
取 [min, max] 之间的一个随机数
Math.floor / Math.random()
function getRandomInt(range: [number, number]): number {
return Math.floor(Math.random() * (range[1] - range[0] + 1) + range[0]);
}
限制输入字符数量,并显示当前还能输入的字符数量
this.formModel = new FormGroup({
msg: new FormControl('', Validators.maxLength(MAX_MSG))
});
this.formModel.get('msg').valueChanges.subscribe(msg => {
this.surplusMsgCount = MAX_MSG - msg.length;
});
格式化数字(加逗号): 7000.00 -> 7,000.00
import { Pipe, PipeTransform} from '@angular/core';
@Pipe({ name: 'toNumberFormat' })
export class ToNumberPipe implements PipeTransform {
transform(input: string): string {
const inputNum = Number.parseFloat(input).toFixed(2);
const num = inputNum.toString();
const arr = num.split('.');
let decimals = '';
if (arr.length > 1) {
decimals = '.' + arr[1];
}
return arr[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + decimals;
}
}