数字处理:保留几位有效数字
不废话,直接分享代码与思想
数字过大或者过小的时候,js解析为科学计数的格式,怎么把数字转换为string类型的呢?请看刚刚分享的Js 科学计算法,number类型与string类型转换,然后就是根据保留几位有效数字进行判断转换,处理字符串!?
const arr = strValue.split(".");
const plength = arr[0].length;
const dlength = arr[1] && arr[1].length || 0;
const dnumber = arr[1] && arr[1].replace(/\b(0+)/gi, "") || "";
const delength = dnumber.length || 0;
const dilength = dlength - delength;
let strNumber: string ;
if (arr[0] === "0") {
[arr[1]] = [arr[1].substr(0, dilength + 4)];
strNumber = arr.join(".");
} else if (plength >= 4) {
strNumber = arr[0];
} else if (dlength) {
[arr[1]] = [arr[1].substr(0, 4 - plength)];
strNumber = arr.join(".");
} else {
strNumber = arr.join(".");
}
由于传入的类型为Number类型,所以导出的时候也进行数据类型处理!
export function retainValidNumbers(value: number) {
...
return Number.parseFloat(strNumber);
...
}
然后就可以愉快的玩耍了!只为分享,借鉴,如有问题请指教!