為了防止后端返回出來的流量字符個數(shù)超過16位,所以使用到bignumber.js進行加減乘除的計算;
https://mikemcl.github.io/bignumber.js/ bignumber.js的api
正常的其實應(yīng)該拿1024進行計算涮较,我們后端底層是拿1000進行處理的,所以需要跟后端計算方式統(tǒng)一下
纬凤,import { BigNumber } from "bignumber.js";
//轉(zhuǎn)化流量
export function conver(limit) {
var size = "";
const x = new BigNumber(limit);
if (x.lt(0.1 * 1000)) {
//如果小于0.1KB轉(zhuǎn)化成B
size = x.toFixed(2) + "B";
} else if (x.lt(0.1 * 1000 * 1000)) {
//如果小于0.1MB轉(zhuǎn)化成KB
size = x.div(1000).toFixed(2) + "K";
} else if (x.lt(0.1 * 1000 * 1000 * 1000)) {
//如果小于0.1GB轉(zhuǎn)化成MB
size = x.div(1000 * 1000).toFixed(2) + "M";
} else {
//其他轉(zhuǎn)化成GB
size = x.div(1000 * 1000 * 1000).toFixed(2) + "G";
}
var sizestr = size + "";
var len = sizestr.indexOf(".");
var dec = sizestr.substr(len + 1, 2);
if (dec == "00") {
//當(dāng)小數(shù)點后為00時 去掉小數(shù)部分
return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
}
return sizestr;
}