format.go 421 B

12345678910111213141516
  1. package common
  2. import "strconv"
  3. // FormatTraffic formats traffic bytes into human-readable units (B, KB, MB, GB, TB, PB).
  4. func FormatTraffic(trafficBytes int64) string {
  5. units := []string{"B", "KB", "MB", "GB", "TB", "PB"}
  6. unitIndex := 0
  7. size := float64(trafficBytes)
  8. for size >= 1024 && unitIndex < len(units)-1 {
  9. size /= 1024
  10. unitIndex++
  11. }
  12. return strconv.FormatFloat(size, 'f', 2, 64) + units[unitIndex]
  13. }