parse-traffic.ts 542 B

123456789101112131415161718192021222324252627282930
  1. /**
  2. * parse the traffic to
  3. * xxx B
  4. * xxx KB
  5. * xxx MB
  6. * xxx GB
  7. */
  8. const parseTraffic = (num: number) => {
  9. const gb = 1024 ** 3;
  10. const mb = 1024 ** 2;
  11. const kb = 1024;
  12. let t = num;
  13. let u = "B";
  14. if (num < 1000) return [`${Math.round(t)}`, "B"];
  15. if (num <= mb) {
  16. t = num / kb;
  17. u = "KB";
  18. } else if (num <= gb) {
  19. t = num / mb;
  20. u = "MB";
  21. } else {
  22. t = num / gb;
  23. u = "GB";
  24. }
  25. if (t >= 100) return [`${Math.round(t)}`, u];
  26. return [`${Math.round(t * 10) / 10}`, u];
  27. };
  28. export default parseTraffic;