simplefileshare/utils.go

29 lines
440 B
Go
Raw Normal View History

2021-08-31 19:07:19 +05:00
package main
import "fmt"
func sizeToApproxHuman(s int64) string {
t := []struct {
Name string
Val int64
}{
{"EiB", 1 << 60},
{"PiB", 1 << 50},
{"TiB", 1 << 40},
{"GiB", 1 << 30},
{"MiB", 1 << 20},
{"KiB", 1 << 10}}
var v float64
for i := 0; i < len(t); i++ {
v = float64(s) / float64(t[i].Val)
if v < 1.0 {
continue
}
return fmt.Sprintf("%.1f %s", v, t[i].Name)
}
return fmt.Sprintf("%.1f KiB", v)
}