diff options
Diffstat (limited to 'common/files/bytesize.go')
-rw-r--r-- | common/files/bytesize.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/common/files/bytesize.go b/common/files/bytesize.go new file mode 100644 index 0000000..95f857a --- /dev/null +++ b/common/files/bytesize.go @@ -0,0 +1,19 @@ +package files + +import "fmt" + +func PrettyBytes(b uint64) string { + if b < 1000 { + return fmt.Sprintf("%d Byte", b) + } + if b < 1000_000 { + return fmt.Sprintf("%.2f KiB", float64(b)/1024) + } + if b < 1000_000_000 { + return fmt.Sprintf("%.2f MiB", float64(b)/1024/1024) + } + if b < 1000_000_000_000 { + return fmt.Sprintf("%.2f GiB", float64(b)/1024/1024/1024) + } + return fmt.Sprintf("%.2f TiB", float64(b)/1024/1024/1024/1024) +} |