数字格式整理集合
title: 数字格式整理集合 id: 82623500e8ee8032808c8c7c208d5d47 tags: [] date: 2000/01/01 00:00:00 updated: 2024/01/13 17:23:43 isPublic: true --#|[分隔]|#--
数字格式整理集合
科学计数法转为原值字符串
function toNonExponential(input: number | string | bigint): string {
if (typeof input === 'bigint') {
return input.toString();
}
let dataStr = typeof input === 'string' ? input : input.toString();
if (isNaN(Number(dataStr))) {
throw new Error('Input must be a number, a bigint or a string that can be converted to a number');
}
if (dataStr.indexOf('e') !== -1) {
const [numberPart, exponentPart] = dataStr.split('e');
let [base, decimal = ''] = numberPart.split('.');
let exponent = Number(exponentPart);
if (exponent >= 0) {
return base + decimal.padEnd(exponent + 1, '0');
} else {
const decimalPointPos = base.length + exponent;
if (decimalPointPos <= 0) {
return '0.' + base.padStart(-exponent, '0') + decimal;
} else {
return base.slice(0, decimalPointPos) + '.' + base.slice(decimalPointPos) + decimal;
}
}
} else {
return dataStr;
}
}十进制数字转为任意进制数字字符串
任意进制转换
字符串转为十进制数字
四舍五入到指定位数并补零
当第三个参数为true时,则当结果的小数位小于decimals时,会补充零,返回的将会是字符串格式。
裁剪丢弃到指定位数
当第三个参数为true时,则当结果的小数位不够decimals时,会补充零,返回的将会是字符串格式。
注意,这个方法会趋向于让返回结果更小,所以,同样是保留两位,如果传入的value是正数0.245,返回值是0.24;如果传入的value是负数**-0.245**,返回的将是**-0.25**!
补零
当你需要在一个数字 num 不足 len 位数的时候前面补零操作,用到字符串方法 padStart:
数字转为 万 亿 的缩略写法
数字转为 123,234,234,000的格式
数字转为 K M B 的缩略写法
Last updated
Was this helpful?